diff --git a/provider/cmd/pulumi-resource-confluentcloud/schema.json b/provider/cmd/pulumi-resource-confluentcloud/schema.json index cc56676c..4196ead4 100644 --- a/provider/cmd/pulumi-resource-confluentcloud/schema.json +++ b/provider/cmd/pulumi-resource-confluentcloud/schema.json @@ -226,6 +226,24 @@ "id" ] }, + "confluentcloud:index/IdentityPoolIdentityProvider:IdentityPoolIdentityProvider": { + "properties": { + "id": { + "type": "string", + "description": "The ID of the Identity Provider associated with the Identity Pool, for example, `op-abc123`.\n", + "language": { + "python": { + "mapCase": false + } + }, + "willReplaceOnChanges": true + } + }, + "type": "object", + "required": [ + "id" + ] + }, "confluentcloud:index/KafkaAclCredentials:KafkaAclCredentials": { "properties": { "key": { @@ -384,6 +402,60 @@ "id" ] }, + "confluentcloud:index/KsqlClusterCredentialIdentity:KsqlClusterCredentialIdentity": { + "properties": { + "id": { + "type": "string", + "description": "The ID of the associated service or user account, for example, `sa-abc123`.\n", + "language": { + "python": { + "mapCase": false + } + }, + "willReplaceOnChanges": true + } + }, + "type": "object", + "required": [ + "id" + ] + }, + "confluentcloud:index/KsqlClusterEnvironment:KsqlClusterEnvironment": { + "properties": { + "id": { + "type": "string", + "description": "The ID of the associated service or user account, for example, `sa-abc123`.\n", + "language": { + "python": { + "mapCase": false + } + }, + "willReplaceOnChanges": true + } + }, + "type": "object", + "required": [ + "id" + ] + }, + "confluentcloud:index/KsqlClusterKafkaCluster:KsqlClusterKafkaCluster": { + "properties": { + "id": { + "type": "string", + "description": "The ID of the associated service or user account, for example, `sa-abc123`.\n", + "language": { + "python": { + "mapCase": false + } + }, + "willReplaceOnChanges": true + } + }, + "type": "object", + "required": [ + "id" + ] + }, "confluentcloud:index/NetworkAw:NetworkAw": { "properties": { "privateLinkEndpointService": { @@ -459,15 +531,26 @@ }, "confluentcloud:index/NetworkGcp:NetworkGcp": { "properties": { + "privateServiceConnectServiceAttachments": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "(Optional Map) The mapping of zones to Private Service Connect service attachments if available. Keys are zones and values are [GCP Private Service Connect service attachment](https://cloud.google.com/vpc/docs/configure-private-service-connect-producer#api_7).\n", + "language": { + "python": { + "mapCase": false + } + } + }, "project": { "type": "string", - "description": "(Required String) The GCP project.\n", + "description": "(Required String) The GCP project ID.\n", "language": { "python": { "mapCase": false } - }, - "willReplaceOnChanges": true + } }, "vpcNetwork": { "type": "string", @@ -476,14 +559,14 @@ "python": { "mapCase": false } - }, - "willReplaceOnChanges": true + } } }, "type": "object", "language": { "nodejs": { "requiredOutputs": [ + "privateServiceConnectServiceAttachments", "project", "vpcNetwork" ] @@ -713,6 +796,24 @@ "id" ] }, + "confluentcloud:index/PrivateLinkAccessGcp:PrivateLinkAccessGcp": { + "properties": { + "project": { + "type": "string", + "description": "The GCP project ID to allow for Private Service Connect access. You can find your Google Cloud Project ID under **Project ID** section of your [Google Cloud Console dashboard](https://console.cloud.google.com/home/dashboard).\n", + "language": { + "python": { + "mapCase": false + } + }, + "willReplaceOnChanges": true + } + }, + "type": "object", + "required": [ + "project" + ] + }, "confluentcloud:index/PrivateLinkAccessNetwork:PrivateLinkAccessNetwork": { "properties": { "id": { @@ -731,6 +832,23 @@ "id" ] }, + "confluentcloud:index/getIdentityPoolIdentityProvider:getIdentityPoolIdentityProvider": { + "properties": { + "id": { + "type": "string", + "description": "The ID of the Identity Provider associated with the Identity Pool, for example, `op-abc123`.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "id" + ] + }, "confluentcloud:index/getKafkaClusterBasic:getKafkaClusterBasic": { "type": "object" }, @@ -852,6 +970,67 @@ "id" ] }, + "confluentcloud:index/getKsqlClusterCredentialIdentity:getKsqlClusterCredentialIdentity": { + "properties": { + "id": { + "type": "string", + "description": "The ID of the Environment that the ksqlDB cluster belongs to, for example, `env-xyz456`.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "id" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "confluentcloud:index/getKsqlClusterEnvironment:getKsqlClusterEnvironment": { + "properties": { + "id": { + "type": "string", + "description": "The ID of the Environment that the ksqlDB cluster belongs to, for example, `env-xyz456`.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "id" + ] + }, + "confluentcloud:index/getKsqlClusterKafkaCluster:getKsqlClusterKafkaCluster": { + "properties": { + "id": { + "type": "string", + "description": "The ID of the Environment that the ksqlDB cluster belongs to, for example, `env-xyz456`.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "id" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, "confluentcloud:index/getNetworkAw:getNetworkAw": { "properties": { "privateLinkEndpointService": { @@ -928,9 +1107,21 @@ }, "confluentcloud:index/getNetworkGcp:getNetworkGcp": { "properties": { + "privateServiceConnectServiceAttachments": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "(Optional Map) The mapping of zones to Private Service Connect service attachments if available. Keys are zones and values are [GCP Private Service Connect service attachment](https://cloud.google.com/vpc/docs/configure-private-service-connect-producer#api_7).\n", + "language": { + "python": { + "mapCase": false + } + } + }, "project": { "type": "string", - "description": "(Required String) The GCP project.\n", + "description": "(Required String) The GCP project ID.\n", "language": { "python": { "mapCase": false @@ -949,6 +1140,7 @@ }, "type": "object", "required": [ + "privateServiceConnectServiceAttachments", "project", "vpcNetwork" ], @@ -1197,6 +1389,28 @@ "id" ] }, + "confluentcloud:index/getPrivateLinkAccessGcp:getPrivateLinkAccessGcp": { + "properties": { + "project": { + "type": "string", + "description": "(Required String) The GCP project ID to allow for Private Service Connect access. You can find your Google Cloud Project ID under **Project ID** section of your [Google Cloud Console dashboard](https://console.cloud.google.com/home/dashboard).\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "project" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, "confluentcloud:index/getPrivateLinkAccessNetwork:getPrivateLinkAccessNetwork": { "properties": { "id": { @@ -1502,11 +1716,177 @@ "properties": { "displayName": { "type": "string", - "description": "A human-readable name for the Environment. Start and end the name with alphanumeric characters, for example, \"Development\". The name can contain hyphens and underscores.\n" + "description": "A human-readable name for the Environment. Start and end the name with alphanumeric characters, for example, \"Development\". The name can contain hyphens and underscores.\n" + }, + "resourceName": { + "type": "string", + "description": "(Required String) The Confluent Resource Name of the Environment, for example, `crn://confluent.cloud/organization=1111aaaa-11aa-11aa-11aa-111111aaaaaa/environment=env-abc123`.\n" + } + }, + "type": "object" + } + }, + "confluentcloud:index/identityPool:IdentityPool": { + "description": "[![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy) [![Request Access To OAuth API](https://img.shields.io/badge/-Request%20Access%20To%20OAuth%20API-%23bc8540)](mailto:ccloud-api-access+iam-v2-closed-preview@confluent.io?subject=Request%20to%20join%20OAuth%20API%20Closed%20Preview\u0026body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Closed%20Preview%20for%20iam/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.)\n\n\u003e **Note:** `confluentcloud.IdentityPool` resource is available in a **Limited Availability** for early adopters. Limited Availability features are introduced to gather customer feedback. This feature should be used only for evaluation and non-production testing purposes or to provide feedback to Confluent, particularly as it becomes more widely available in follow-on editions. \n**Limited Availability** features are intended for evaluation use in development and testing environments only, and not for production use. The warranty, SLA, and Support Services provisions of your agreement with Confluent do not apply to Limited Availability features. Limited Availability features are considered to be a Proof of Concept as defined in the Confluent Cloud Terms of Service. Confluent may discontinue providing preview releases of the Limited Availability features at any time in Confluent’s sole discretion.\n\n`confluentcloud.IdentityPool` provides an Identity Pool resource that enables creating, editing, and deleting identity pools on Confluent Cloud.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Example Identity Pool to be used with Azure AD\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as confluentcloud from \"@pulumi/confluentcloud\";\n\nconst azure = new confluentcloud.IdentityProvider(\"azure\", {\n displayName: \"My OIDC Provider: Azure AD\",\n description: \"My description\",\n issuer: \"https://login.microsoftonline.com/{tenant_id}/v2.0\",\n jwksUri: \"https://login.microsoftonline.com/common/discovery/v2.0/keys\",\n});\nconst example = new confluentcloud.IdentityPool(\"example\", {\n identityProvider: {\n id: azure.id,\n },\n displayName: \"My Identity Pool\",\n description: \"Prod Access to Kafka clusters to Release Engineering\",\n identityClaim: \"claims.sub\",\n filter: \"claims.aud==\\\"confluent\\\" \u0026\u0026 claims.group!=\\\"invalid_group\\\"\",\n});\n```\n```python\nimport pulumi\nimport pulumi_confluentcloud as confluentcloud\n\nazure = confluentcloud.IdentityProvider(\"azure\",\n display_name=\"My OIDC Provider: Azure AD\",\n description=\"My description\",\n issuer=\"https://login.microsoftonline.com/{tenant_id}/v2.0\",\n jwks_uri=\"https://login.microsoftonline.com/common/discovery/v2.0/keys\")\nexample = confluentcloud.IdentityPool(\"example\",\n identity_provider=confluentcloud.IdentityPoolIdentityProviderArgs(\n id=azure.id,\n ),\n display_name=\"My Identity Pool\",\n description=\"Prod Access to Kafka clusters to Release Engineering\",\n identity_claim=\"claims.sub\",\n filter=\"claims.aud==\\\"confluent\\\" \u0026\u0026 claims.group!=\\\"invalid_group\\\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing ConfluentCloud = Pulumi.ConfluentCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var azure = new ConfluentCloud.IdentityProvider(\"azure\", new()\n {\n DisplayName = \"My OIDC Provider: Azure AD\",\n Description = \"My description\",\n Issuer = \"https://login.microsoftonline.com/{tenant_id}/v2.0\",\n JwksUri = \"https://login.microsoftonline.com/common/discovery/v2.0/keys\",\n });\n\n var example = new ConfluentCloud.IdentityPool(\"example\", new()\n {\n IdentityProvider = new ConfluentCloud.Inputs.IdentityPoolIdentityProviderArgs\n {\n Id = azure.Id,\n },\n DisplayName = \"My Identity Pool\",\n Description = \"Prod Access to Kafka clusters to Release Engineering\",\n IdentityClaim = \"claims.sub\",\n Filter = \"claims.aud==\\\"confluent\\\" \u0026\u0026 claims.group!=\\\"invalid_group\\\"\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-confluentcloud/sdk/go/confluentcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tazure, err := confluentcloud.NewIdentityProvider(ctx, \"azure\", \u0026confluentcloud.IdentityProviderArgs{\n\t\t\tDisplayName: pulumi.String(\"My OIDC Provider: Azure AD\"),\n\t\t\tDescription: pulumi.String(\"My description\"),\n\t\t\tIssuer: pulumi.String(\"https://login.microsoftonline.com/{tenant_id}/v2.0\"),\n\t\t\tJwksUri: pulumi.String(\"https://login.microsoftonline.com/common/discovery/v2.0/keys\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = confluentcloud.NewIdentityPool(ctx, \"example\", \u0026confluentcloud.IdentityPoolArgs{\n\t\t\tIdentityProvider: \u0026IdentityPoolIdentityProviderArgs{\n\t\t\t\tId: azure.ID(),\n\t\t\t},\n\t\t\tDisplayName: pulumi.String(\"My Identity Pool\"),\n\t\t\tDescription: pulumi.String(\"Prod Access to Kafka clusters to Release Engineering\"),\n\t\t\tIdentityClaim: pulumi.String(\"claims.sub\"),\n\t\t\tFilter: pulumi.String(\"claims.aud==\\\"confluent\\\" \u0026\u0026 claims.group!=\\\"invalid_group\\\"\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.confluentcloud.IdentityProvider;\nimport com.pulumi.confluentcloud.IdentityProviderArgs;\nimport com.pulumi.confluentcloud.IdentityPool;\nimport com.pulumi.confluentcloud.IdentityPoolArgs;\nimport com.pulumi.confluentcloud.inputs.IdentityPoolIdentityProviderArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var azure = new IdentityProvider(\"azure\", IdentityProviderArgs.builder() \n .displayName(\"My OIDC Provider: Azure AD\")\n .description(\"My description\")\n .issuer(\"https://login.microsoftonline.com/{tenant_id}/v2.0\")\n .jwksUri(\"https://login.microsoftonline.com/common/discovery/v2.0/keys\")\n .build());\n\n var example = new IdentityPool(\"example\", IdentityPoolArgs.builder() \n .identityProvider(IdentityPoolIdentityProviderArgs.builder()\n .id(azure.id())\n .build())\n .displayName(\"My Identity Pool\")\n .description(\"Prod Access to Kafka clusters to Release Engineering\")\n .identityClaim(\"claims.sub\")\n .filter(\"claims.aud==\\\"confluent\\\" \u0026\u0026 claims.group!=\\\"invalid_group\\\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n azure:\n type: confluentcloud:IdentityProvider\n properties:\n displayName: 'My OIDC Provider: Azure AD'\n description: My description\n issuer: https://login.microsoftonline.com/{tenant_id}/v2.0\n jwksUri: https://login.microsoftonline.com/common/discovery/v2.0/keys\n example:\n type: confluentcloud:IdentityPool\n properties:\n identityProvider:\n id: ${azure.id}\n displayName: My Identity Pool\n description: Prod Access to Kafka clusters to Release Engineering\n identityClaim: claims.sub\n filter: claims.aud==\"confluent\" \u0026\u0026 claims.group!=\"invalid_group\"\n```\n{{% /example %}}\n{{% example %}}\n### Example Identity Pool to be used with Okta\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as confluentcloud from \"@pulumi/confluentcloud\";\n\nconst okta = new confluentcloud.IdentityProvider(\"okta\", {\n displayName: \"My OIDC Provider: Okta\",\n description: \"My description\",\n issuer: \"https://mycompany.okta.com/oauth2/default\",\n jwksUri: \"https://mycompany.okta.com/oauth2/default/v1/keys\",\n});\nconst example = new confluentcloud.IdentityPool(\"example\", {\n identityProvider: {\n id: okta.id,\n },\n displayName: \"My Identity Pool\",\n description: \"Prod Access to Kafka clusters to Release Engineering\",\n identityClaim: \"claims.sub\",\n filter: \"claims.aud==\\\"confluent\\\" \u0026\u0026 claims.group!=\\\"invalid_group\\\"\",\n});\n```\n```python\nimport pulumi\nimport pulumi_confluentcloud as confluentcloud\n\nokta = confluentcloud.IdentityProvider(\"okta\",\n display_name=\"My OIDC Provider: Okta\",\n description=\"My description\",\n issuer=\"https://mycompany.okta.com/oauth2/default\",\n jwks_uri=\"https://mycompany.okta.com/oauth2/default/v1/keys\")\nexample = confluentcloud.IdentityPool(\"example\",\n identity_provider=confluentcloud.IdentityPoolIdentityProviderArgs(\n id=okta.id,\n ),\n display_name=\"My Identity Pool\",\n description=\"Prod Access to Kafka clusters to Release Engineering\",\n identity_claim=\"claims.sub\",\n filter=\"claims.aud==\\\"confluent\\\" \u0026\u0026 claims.group!=\\\"invalid_group\\\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing ConfluentCloud = Pulumi.ConfluentCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var okta = new ConfluentCloud.IdentityProvider(\"okta\", new()\n {\n DisplayName = \"My OIDC Provider: Okta\",\n Description = \"My description\",\n Issuer = \"https://mycompany.okta.com/oauth2/default\",\n JwksUri = \"https://mycompany.okta.com/oauth2/default/v1/keys\",\n });\n\n var example = new ConfluentCloud.IdentityPool(\"example\", new()\n {\n IdentityProvider = new ConfluentCloud.Inputs.IdentityPoolIdentityProviderArgs\n {\n Id = okta.Id,\n },\n DisplayName = \"My Identity Pool\",\n Description = \"Prod Access to Kafka clusters to Release Engineering\",\n IdentityClaim = \"claims.sub\",\n Filter = \"claims.aud==\\\"confluent\\\" \u0026\u0026 claims.group!=\\\"invalid_group\\\"\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-confluentcloud/sdk/go/confluentcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tokta, err := confluentcloud.NewIdentityProvider(ctx, \"okta\", \u0026confluentcloud.IdentityProviderArgs{\n\t\t\tDisplayName: pulumi.String(\"My OIDC Provider: Okta\"),\n\t\t\tDescription: pulumi.String(\"My description\"),\n\t\t\tIssuer: pulumi.String(\"https://mycompany.okta.com/oauth2/default\"),\n\t\t\tJwksUri: pulumi.String(\"https://mycompany.okta.com/oauth2/default/v1/keys\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = confluentcloud.NewIdentityPool(ctx, \"example\", \u0026confluentcloud.IdentityPoolArgs{\n\t\t\tIdentityProvider: \u0026IdentityPoolIdentityProviderArgs{\n\t\t\t\tId: okta.ID(),\n\t\t\t},\n\t\t\tDisplayName: pulumi.String(\"My Identity Pool\"),\n\t\t\tDescription: pulumi.String(\"Prod Access to Kafka clusters to Release Engineering\"),\n\t\t\tIdentityClaim: pulumi.String(\"claims.sub\"),\n\t\t\tFilter: pulumi.String(\"claims.aud==\\\"confluent\\\" \u0026\u0026 claims.group!=\\\"invalid_group\\\"\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.confluentcloud.IdentityProvider;\nimport com.pulumi.confluentcloud.IdentityProviderArgs;\nimport com.pulumi.confluentcloud.IdentityPool;\nimport com.pulumi.confluentcloud.IdentityPoolArgs;\nimport com.pulumi.confluentcloud.inputs.IdentityPoolIdentityProviderArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var okta = new IdentityProvider(\"okta\", IdentityProviderArgs.builder() \n .displayName(\"My OIDC Provider: Okta\")\n .description(\"My description\")\n .issuer(\"https://mycompany.okta.com/oauth2/default\")\n .jwksUri(\"https://mycompany.okta.com/oauth2/default/v1/keys\")\n .build());\n\n var example = new IdentityPool(\"example\", IdentityPoolArgs.builder() \n .identityProvider(IdentityPoolIdentityProviderArgs.builder()\n .id(okta.id())\n .build())\n .displayName(\"My Identity Pool\")\n .description(\"Prod Access to Kafka clusters to Release Engineering\")\n .identityClaim(\"claims.sub\")\n .filter(\"claims.aud==\\\"confluent\\\" \u0026\u0026 claims.group!=\\\"invalid_group\\\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n okta:\n type: confluentcloud:IdentityProvider\n properties:\n displayName: 'My OIDC Provider: Okta'\n description: My description\n issuer: https://mycompany.okta.com/oauth2/default\n jwksUri: https://mycompany.okta.com/oauth2/default/v1/keys\n example:\n type: confluentcloud:IdentityPool\n properties:\n identityProvider:\n id: ${okta.id}\n displayName: My Identity Pool\n description: Prod Access to Kafka clusters to Release Engineering\n identityClaim: claims.sub\n filter: claims.aud==\"confluent\" \u0026\u0026 claims.group!=\"invalid_group\"\n```\n\n{{% /example %}}\n{{% /examples %}}\n## External Documentation\n\n* [Use identity pools with your OAuth provider](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html).\n\n\n## Import\n\nYou can import an Identity Pool by using Identity Provider ID and Identity Pool ID, in the format `\u003cIdentity Provider ID\u003e/\u003cIdentity Pool ID\u003e`. The following example shows how to import an Identity Pool$ export CONFLUENT_CLOUD_API_KEY=\"\u003ccloud_api_key\u003e\" $ export CONFLUENT_CLOUD_API_SECRET=\"\u003ccloud_api_secret\u003e\"\n\n```sh\n $ pulumi import confluentcloud:index/identityPool:IdentityPool example op-abc123/pool-xyz456\n```\n\n !\u003e **Warning:** Do not forget to delete terminal command history afterwards for security purposes. ", + "properties": { + "description": { + "type": "string", + "description": "A description for the Identity Pool.\n" + }, + "displayName": { + "type": "string", + "description": "A human-readable name for the Identity Pool.\n" + }, + "filter": { + "type": "string", + "description": "A filter expression in [Supported Common Expression Language (CEL)](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html#supported-common-expression-language-cel-filters) that specifies which identities can authenticate using your identity pool (see [Set identity pool filters](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html#set-identity-pool-filters) for more details).\n" + }, + "identityClaim": { + "type": "string", + "description": "The JSON Web Token (JWT) claim to extract the authenticating identity to Confluent resources from (see [Registered Claim Names](https://datatracker.ietf.org/doc/html/rfc7519#section-4.1) for more details). This appears in the audit log records, showing, for example, that \"identity Z used identity pool X to access topic A\".\n" + }, + "identityProvider": { + "$ref": "#/types/confluentcloud:index/IdentityPoolIdentityProvider:IdentityPoolIdentityProvider", + "description": "Identity Provider objects represent external OAuth/OpenID Connect providers within Confluent Cloud.\n" + } + }, + "required": [ + "description", + "displayName", + "filter", + "identityClaim", + "identityProvider" + ], + "inputProperties": { + "description": { + "type": "string", + "description": "A description for the Identity Pool.\n" + }, + "displayName": { + "type": "string", + "description": "A human-readable name for the Identity Pool.\n" + }, + "filter": { + "type": "string", + "description": "A filter expression in [Supported Common Expression Language (CEL)](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html#supported-common-expression-language-cel-filters) that specifies which identities can authenticate using your identity pool (see [Set identity pool filters](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html#set-identity-pool-filters) for more details).\n" + }, + "identityClaim": { + "type": "string", + "description": "The JSON Web Token (JWT) claim to extract the authenticating identity to Confluent resources from (see [Registered Claim Names](https://datatracker.ietf.org/doc/html/rfc7519#section-4.1) for more details). This appears in the audit log records, showing, for example, that \"identity Z used identity pool X to access topic A\".\n" + }, + "identityProvider": { + "$ref": "#/types/confluentcloud:index/IdentityPoolIdentityProvider:IdentityPoolIdentityProvider", + "description": "Identity Provider objects represent external OAuth/OpenID Connect providers within Confluent Cloud.\n", + "willReplaceOnChanges": true + } + }, + "requiredInputs": [ + "description", + "displayName", + "filter", + "identityClaim", + "identityProvider" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering IdentityPool resources.\n", + "properties": { + "description": { + "type": "string", + "description": "A description for the Identity Pool.\n" + }, + "displayName": { + "type": "string", + "description": "A human-readable name for the Identity Pool.\n" + }, + "filter": { + "type": "string", + "description": "A filter expression in [Supported Common Expression Language (CEL)](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html#supported-common-expression-language-cel-filters) that specifies which identities can authenticate using your identity pool (see [Set identity pool filters](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html#set-identity-pool-filters) for more details).\n" + }, + "identityClaim": { + "type": "string", + "description": "The JSON Web Token (JWT) claim to extract the authenticating identity to Confluent resources from (see [Registered Claim Names](https://datatracker.ietf.org/doc/html/rfc7519#section-4.1) for more details). This appears in the audit log records, showing, for example, that \"identity Z used identity pool X to access topic A\".\n" + }, + "identityProvider": { + "$ref": "#/types/confluentcloud:index/IdentityPoolIdentityProvider:IdentityPoolIdentityProvider", + "description": "Identity Provider objects represent external OAuth/OpenID Connect providers within Confluent Cloud.\n", + "willReplaceOnChanges": true + } + }, + "type": "object" + } + }, + "confluentcloud:index/identityProvider:IdentityProvider": { + "description": "[![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy) [![Request Access To OAuth API](https://img.shields.io/badge/-Request%20Access%20To%20OAuth%20API-%23bc8540)](mailto:ccloud-api-access+iam-v2-closed-preview@confluent.io?subject=Request%20to%20join%20OAuth%20API%20Closed%20Preview\u0026body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Closed%20Preview%20for%20iam/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.)\n\n\u003e **Note:** `confluentcloud.IdentityProvider` resource is available in a **Limited Availability** for early adopters. Limited Availability features are introduced to gather customer feedback. This feature should be used only for evaluation and non-production testing purposes or to provide feedback to Confluent, particularly as it becomes more widely available in follow-on editions. \n**Limited Availability** features are intended for evaluation use in development and testing environments only, and not for production use. The warranty, SLA, and Support Services provisions of your agreement with Confluent do not apply to Limited Availability features. Limited Availability features are considered to be a Proof of Concept as defined in the Confluent Cloud Terms of Service. Confluent may discontinue providing preview releases of the Limited Availability features at any time in Confluent’s sole discretion.\n\n`confluentcloud.IdentityProvider` provides an Identity Provider resource that enables creating, editing, and deleting identity providers on Confluent Cloud.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Example Identity Provider: Azure AD\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as confluent from \"@pulumi/confluent\";\n\nconst azure = new confluent.IdentityProvider(\"azure\", {\n description: \"My description\",\n displayName: \"My OIDC Provider: Azure AD\",\n issuer: \"https://login.microsoftonline.com/{tenant_id}/v2.0\",\n jwksUri: \"https://login.microsoftonline.com/common/discovery/v2.0/keys\",\n});\n```\n```python\nimport pulumi\nimport pulumi_confluentcloud as confluentcloud\n\nazure = confluentcloud.IdentityProvider(\"azure\",\n description=\"My description\",\n display_name=\"My OIDC Provider: Azure AD\",\n issuer=\"https://login.microsoftonline.com/{tenant_id}/v2.0\",\n jwks_uri=\"https://login.microsoftonline.com/common/discovery/v2.0/keys\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing ConfluentCloud = Pulumi.ConfluentCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var azure = new ConfluentCloud.IdentityProvider(\"azure\", new()\n {\n Description = \"My description\",\n DisplayName = \"My OIDC Provider: Azure AD\",\n Issuer = \"https://login.microsoftonline.com/{tenant_id}/v2.0\",\n JwksUri = \"https://login.microsoftonline.com/common/discovery/v2.0/keys\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-confluentcloud/sdk/go/confluentcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := confluentcloud.NewIdentityProvider(ctx, \"azure\", \u0026confluentcloud.IdentityProviderArgs{\n\t\t\tDescription: pulumi.String(\"My description\"),\n\t\t\tDisplayName: pulumi.String(\"My OIDC Provider: Azure AD\"),\n\t\t\tIssuer: pulumi.String(\"https://login.microsoftonline.com/{tenant_id}/v2.0\"),\n\t\t\tJwksUri: pulumi.String(\"https://login.microsoftonline.com/common/discovery/v2.0/keys\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.confluentcloud.IdentityProvider;\nimport com.pulumi.confluentcloud.IdentityProviderArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var azure = new IdentityProvider(\"azure\", IdentityProviderArgs.builder() \n .description(\"My description\")\n .displayName(\"My OIDC Provider: Azure AD\")\n .issuer(\"https://login.microsoftonline.com/{tenant_id}/v2.0\")\n .jwksUri(\"https://login.microsoftonline.com/common/discovery/v2.0/keys\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n azure:\n type: confluentcloud:IdentityProvider\n properties:\n description: My description\n displayName: 'My OIDC Provider: Azure AD'\n issuer: https://login.microsoftonline.com/{tenant_id}/v2.0\n jwksUri: https://login.microsoftonline.com/common/discovery/v2.0/keys\n```\n{{% /example %}}\n{{% example %}}\n### Example Identity Provider: Okta\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as confluent from \"@pulumi/confluent\";\n\nconst okta = new confluent.IdentityProvider(\"okta\", {\n description: \"My description\",\n displayName: \"My OIDC Provider: Okta\",\n issuer: \"https://mycompany.okta.com/oauth2/default\",\n jwksUri: \"https://mycompany.okta.com/oauth2/default/v1/keys\",\n});\n```\n```python\nimport pulumi\nimport pulumi_confluentcloud as confluentcloud\n\nokta = confluentcloud.IdentityProvider(\"okta\",\n description=\"My description\",\n display_name=\"My OIDC Provider: Okta\",\n issuer=\"https://mycompany.okta.com/oauth2/default\",\n jwks_uri=\"https://mycompany.okta.com/oauth2/default/v1/keys\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing ConfluentCloud = Pulumi.ConfluentCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var okta = new ConfluentCloud.IdentityProvider(\"okta\", new()\n {\n Description = \"My description\",\n DisplayName = \"My OIDC Provider: Okta\",\n Issuer = \"https://mycompany.okta.com/oauth2/default\",\n JwksUri = \"https://mycompany.okta.com/oauth2/default/v1/keys\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-confluentcloud/sdk/go/confluentcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := confluentcloud.NewIdentityProvider(ctx, \"okta\", \u0026confluentcloud.IdentityProviderArgs{\n\t\t\tDescription: pulumi.String(\"My description\"),\n\t\t\tDisplayName: pulumi.String(\"My OIDC Provider: Okta\"),\n\t\t\tIssuer: pulumi.String(\"https://mycompany.okta.com/oauth2/default\"),\n\t\t\tJwksUri: pulumi.String(\"https://mycompany.okta.com/oauth2/default/v1/keys\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.confluentcloud.IdentityProvider;\nimport com.pulumi.confluentcloud.IdentityProviderArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var okta = new IdentityProvider(\"okta\", IdentityProviderArgs.builder() \n .description(\"My description\")\n .displayName(\"My OIDC Provider: Okta\")\n .issuer(\"https://mycompany.okta.com/oauth2/default\")\n .jwksUri(\"https://mycompany.okta.com/oauth2/default/v1/keys\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n okta:\n type: confluentcloud:IdentityProvider\n properties:\n description: My description\n displayName: 'My OIDC Provider: Okta'\n issuer: https://mycompany.okta.com/oauth2/default\n jwksUri: https://mycompany.okta.com/oauth2/default/v1/keys\n```\n\n{{% /example %}}\n{{% /examples %}}\n## External Documentation\n\n* [Authenticating with OAuth](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/overview.html).\n\n\n## Import\n\nYou can import an Identity Provider by using Identity Provider ID, for example$ export CONFLUENT_CLOUD_API_KEY=\"\u003ccloud_api_key\u003e\" $ export CONFLUENT_CLOUD_API_SECRET=\"\u003ccloud_api_secret\u003e\"\n\n```sh\n $ pulumi import confluentcloud:index/identityProvider:IdentityProvider example op-abc123\n```\n\n !\u003e **Warning:** Do not forget to delete terminal command history afterwards for security purposes. ", + "properties": { + "description": { + "type": "string", + "description": "A description for the Identity Provider.\n" + }, + "displayName": { + "type": "string", + "description": "A human-readable name for the Identity Provider.\n" + }, + "issuer": { + "type": "string", + "description": "A publicly reachable issuer URI for the Identity Provider. The unique issuer URI string represents the entity for issuing tokens.\n" + }, + "jwksUri": { + "type": "string", + "description": "A publicly reachable JSON Web Key Set (JWKS) URI for the Identity Provider. A JSON Web Key Set (JWKS) provides a set of keys containing the public keys used to verify any JSON Web Token (JWT) issued by your OAuth 2.0 identity provider.\n" + } + }, + "required": [ + "description", + "displayName", + "issuer", + "jwksUri" + ], + "inputProperties": { + "description": { + "type": "string", + "description": "A description for the Identity Provider.\n" + }, + "displayName": { + "type": "string", + "description": "A human-readable name for the Identity Provider.\n" + }, + "issuer": { + "type": "string", + "description": "A publicly reachable issuer URI for the Identity Provider. The unique issuer URI string represents the entity for issuing tokens.\n", + "willReplaceOnChanges": true + }, + "jwksUri": { + "type": "string", + "description": "A publicly reachable JSON Web Key Set (JWKS) URI for the Identity Provider. A JSON Web Key Set (JWKS) provides a set of keys containing the public keys used to verify any JSON Web Token (JWT) issued by your OAuth 2.0 identity provider.\n", + "willReplaceOnChanges": true + } + }, + "requiredInputs": [ + "description", + "displayName", + "issuer", + "jwksUri" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering IdentityProvider resources.\n", + "properties": { + "description": { + "type": "string", + "description": "A description for the Identity Provider.\n" + }, + "displayName": { + "type": "string", + "description": "A human-readable name for the Identity Provider.\n" }, - "resourceName": { + "issuer": { "type": "string", - "description": "(Required String) The Confluent Resource Name of the Environment, for example, `crn://confluent.cloud/organization=1111aaaa-11aa-11aa-11aa-111111aaaaaa/environment=env-abc123`.\n" + "description": "A publicly reachable issuer URI for the Identity Provider. The unique issuer URI string represents the entity for issuing tokens.\n", + "willReplaceOnChanges": true + }, + "jwksUri": { + "type": "string", + "description": "A publicly reachable JSON Web Key Set (JWKS) URI for the Identity Provider. A JSON Web Key Set (JWKS) provides a set of keys containing the public keys used to verify any JSON Web Token (JWT) issued by your OAuth 2.0 identity provider.\n", + "willReplaceOnChanges": true } }, "type": "object" @@ -2007,6 +2387,156 @@ "type": "object" } }, + "confluentcloud:index/ksqlCluster:KsqlCluster": { + "description": "\n\n\n## Import\n\nYou can import a ksqlDB cluster by using Environment ID and ksqlDB cluster ID, in the format `\u003cEnvironment ID\u003e/\u003cksqlDB cluster ID\u003e`, for example$ export CONFLUENT_CLOUD_API_KEY=\"\u003ccloud_api_key\u003e\" $ export CONFLUENT_CLOUD_API_SECRET=\"\u003ccloud_api_secret\u003e\"\n\n```sh\n $ pulumi import confluentcloud:index/ksqlCluster:KsqlCluster example env-abc123/lksqlc-abc123\n```\n\n !\u003e **Warning:**\n\nDo not forget to delete the terminal's command history afterward for security purposes. ", + "properties": { + "apiVersion": { + "type": "string", + "description": "(Required String) An API Version of the schema version of the ksqlDB cluster, for example, `ksqldbcm/v2`.\n" + }, + "credentialIdentity": { + "$ref": "#/types/confluentcloud:index/KsqlClusterCredentialIdentity:KsqlClusterCredentialIdentity" + }, + "csu": { + "type": "integer", + "description": "The number of Confluent Streaming Units (CSUs) for the ksqlDB cluster.\n" + }, + "displayName": { + "type": "string", + "description": "The name of the ksqlDB cluster.\n" + }, + "environment": { + "$ref": "#/types/confluentcloud:index/KsqlClusterEnvironment:KsqlClusterEnvironment", + "description": "Environment objects represent an isolated namespace for your Confluent resources for organizational purposes.\n" + }, + "httpEndpoint": { + "type": "string", + "description": "(Required String) The API endpoint of the ksqlDB cluster, for example, `https://pksqlc-00000.us-central1.gcp.glb.confluent.cloud`.\n" + }, + "kafkaCluster": { + "$ref": "#/types/confluentcloud:index/KsqlClusterKafkaCluster:KsqlClusterKafkaCluster" + }, + "kind": { + "type": "string", + "description": "(Required String) A kind of the ksqlDB cluster, for example, `Cluster`.\n" + }, + "storage": { + "type": "integer", + "description": "(Required Integer) The amount of storage (in GB) provisioned to the ksqlDB cluster.\n" + }, + "topicPrefix": { + "type": "string", + "description": "(Required String) Topic name prefix used by this ksqlDB cluster. Used to assign ACLs for this ksqlDB cluster to use, for example, `pksqlc-00000`.\n" + }, + "useDetailedProcessingLog": { + "type": "boolean", + "description": "Controls whether the row data should be included in the processing log topic. Set it to `false` if you don't want to emit sensitive information to the processing log. Defaults to `true`.\n" + } + }, + "required": [ + "apiVersion", + "credentialIdentity", + "csu", + "displayName", + "environment", + "httpEndpoint", + "kafkaCluster", + "kind", + "storage", + "topicPrefix" + ], + "inputProperties": { + "credentialIdentity": { + "$ref": "#/types/confluentcloud:index/KsqlClusterCredentialIdentity:KsqlClusterCredentialIdentity", + "willReplaceOnChanges": true + }, + "csu": { + "type": "integer", + "description": "The number of Confluent Streaming Units (CSUs) for the ksqlDB cluster.\n", + "willReplaceOnChanges": true + }, + "displayName": { + "type": "string", + "description": "The name of the ksqlDB cluster.\n", + "willReplaceOnChanges": true + }, + "environment": { + "$ref": "#/types/confluentcloud:index/KsqlClusterEnvironment:KsqlClusterEnvironment", + "description": "Environment objects represent an isolated namespace for your Confluent resources for organizational purposes.\n", + "willReplaceOnChanges": true + }, + "kafkaCluster": { + "$ref": "#/types/confluentcloud:index/KsqlClusterKafkaCluster:KsqlClusterKafkaCluster", + "willReplaceOnChanges": true + }, + "useDetailedProcessingLog": { + "type": "boolean", + "description": "Controls whether the row data should be included in the processing log topic. Set it to `false` if you don't want to emit sensitive information to the processing log. Defaults to `true`.\n", + "willReplaceOnChanges": true + } + }, + "requiredInputs": [ + "credentialIdentity", + "csu", + "displayName", + "environment", + "kafkaCluster" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering KsqlCluster resources.\n", + "properties": { + "apiVersion": { + "type": "string", + "description": "(Required String) An API Version of the schema version of the ksqlDB cluster, for example, `ksqldbcm/v2`.\n" + }, + "credentialIdentity": { + "$ref": "#/types/confluentcloud:index/KsqlClusterCredentialIdentity:KsqlClusterCredentialIdentity", + "willReplaceOnChanges": true + }, + "csu": { + "type": "integer", + "description": "The number of Confluent Streaming Units (CSUs) for the ksqlDB cluster.\n", + "willReplaceOnChanges": true + }, + "displayName": { + "type": "string", + "description": "The name of the ksqlDB cluster.\n", + "willReplaceOnChanges": true + }, + "environment": { + "$ref": "#/types/confluentcloud:index/KsqlClusterEnvironment:KsqlClusterEnvironment", + "description": "Environment objects represent an isolated namespace for your Confluent resources for organizational purposes.\n", + "willReplaceOnChanges": true + }, + "httpEndpoint": { + "type": "string", + "description": "(Required String) The API endpoint of the ksqlDB cluster, for example, `https://pksqlc-00000.us-central1.gcp.glb.confluent.cloud`.\n" + }, + "kafkaCluster": { + "$ref": "#/types/confluentcloud:index/KsqlClusterKafkaCluster:KsqlClusterKafkaCluster", + "willReplaceOnChanges": true + }, + "kind": { + "type": "string", + "description": "(Required String) A kind of the ksqlDB cluster, for example, `Cluster`.\n" + }, + "storage": { + "type": "integer", + "description": "(Required Integer) The amount of storage (in GB) provisioned to the ksqlDB cluster.\n" + }, + "topicPrefix": { + "type": "string", + "description": "(Required String) Topic name prefix used by this ksqlDB cluster. Used to assign ACLs for this ksqlDB cluster to use, for example, `pksqlc-00000`.\n" + }, + "useDetailedProcessingLog": { + "type": "boolean", + "description": "Controls whether the row data should be included in the processing log topic. Set it to `false` if you don't want to emit sensitive information to the processing log. Defaults to `true`.\n", + "willReplaceOnChanges": true + } + }, + "type": "object" + } + }, "confluentcloud:index/network:Network": { "description": "\n\n\n## Import\n\nYou can import a Network by using Environment ID and Network ID, in the format `\u003cEnvironment ID\u003e/\u003cNetwork ID\u003e`. The following example shows how to import a Network$ export CONFLUENT_CLOUD_API_KEY=\"\u003ccloud_api_key\u003e\" $ export CONFLUENT_CLOUD_API_SECRET=\"\u003ccloud_api_secret\u003e\"\n\n```sh\n $ pulumi import confluentcloud:index/network:Network my_network env-abc123/n-abc123\n```\n\n !\u003e **Warning:** Do not forget to delete terminal command history afterwards for security purposes. ", "properties": { @@ -2360,6 +2890,9 @@ "$ref": "#/types/confluentcloud:index/PrivateLinkAccessEnvironment:PrivateLinkAccessEnvironment", "description": "Environment objects represent an isolated namespace for your Confluent resources for organizational purposes.\n" }, + "gcp": { + "$ref": "#/types/confluentcloud:index/PrivateLinkAccessGcp:PrivateLinkAccessGcp" + }, "network": { "$ref": "#/types/confluentcloud:index/PrivateLinkAccessNetwork:PrivateLinkAccessNetwork", "description": "Network represents a network (VPC) in Confluent Cloud. All Networks exist within Confluent-managed cloud provider\naccounts.\n" @@ -2388,6 +2921,10 @@ "description": "Environment objects represent an isolated namespace for your Confluent resources for organizational purposes.\n", "willReplaceOnChanges": true }, + "gcp": { + "$ref": "#/types/confluentcloud:index/PrivateLinkAccessGcp:PrivateLinkAccessGcp", + "willReplaceOnChanges": true + }, "network": { "$ref": "#/types/confluentcloud:index/PrivateLinkAccessNetwork:PrivateLinkAccessNetwork", "description": "Network represents a network (VPC) in Confluent Cloud. All Networks exist within Confluent-managed cloud provider\naccounts.\n", @@ -2418,6 +2955,10 @@ "description": "Environment objects represent an isolated namespace for your Confluent resources for organizational purposes.\n", "willReplaceOnChanges": true }, + "gcp": { + "$ref": "#/types/confluentcloud:index/PrivateLinkAccessGcp:PrivateLinkAccessGcp", + "willReplaceOnChanges": true + }, "network": { "$ref": "#/types/confluentcloud:index/PrivateLinkAccessNetwork:PrivateLinkAccessNetwork", "description": "Network represents a network (VPC) in Confluent Cloud. All Networks exist within Confluent-managed cloud provider\naccounts.\n", @@ -2594,6 +3135,116 @@ ] } }, + "confluentcloud:index/getIdentityPool:getIdentityPool": { + "description": "[![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy) [![Request Access To OAuth API](https://img.shields.io/badge/-Request%20Access%20To%20OAuth%20API-%23bc8540)](mailto:ccloud-api-access+iam-v2-closed-preview@confluent.io?subject=Request%20to%20join%20OAuth%20API%20Closed%20Preview\u0026body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Closed%20Preview%20for%20iam/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.)\n\n`confluentcloud.IdentityPool` describes an Identity Pool data source.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as confluentcloud from \"@pulumi/confluentcloud\";\n\nconst exampleUsingIdIdentityPool = confluentcloud.getIdentityPool({\n id: \"pool-xyz456\",\n identityProvider: {\n id: \"op-abc123\",\n },\n});\nexport const exampleUsingId = exampleUsingIdIdentityPool;\nconst exampleUsingNameIdentityPool = confluentcloud.getIdentityPool({\n displayName: \"My Identity Pool\",\n identityProvider: {\n id: \"op-abc123\",\n },\n});\nexport const exampleUsingName = exampleUsingNameIdentityPool;\n```\n```python\nimport pulumi\nimport pulumi_confluentcloud as confluentcloud\n\nexample_using_id_identity_pool = confluentcloud.get_identity_pool(id=\"pool-xyz456\",\n identity_provider=confluentcloud.GetIdentityPoolIdentityProviderArgs(\n id=\"op-abc123\",\n ))\npulumi.export(\"exampleUsingId\", example_using_id_identity_pool)\nexample_using_name_identity_pool = confluentcloud.get_identity_pool(display_name=\"My Identity Pool\",\n identity_provider=confluentcloud.GetIdentityPoolIdentityProviderArgs(\n id=\"op-abc123\",\n ))\npulumi.export(\"exampleUsingName\", example_using_name_identity_pool)\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing ConfluentCloud = Pulumi.ConfluentCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleUsingIdIdentityPool = ConfluentCloud.GetIdentityPool.Invoke(new()\n {\n Id = \"pool-xyz456\",\n IdentityProvider = new ConfluentCloud.Inputs.GetIdentityPoolIdentityProviderInputArgs\n {\n Id = \"op-abc123\",\n },\n });\n\n var exampleUsingNameIdentityPool = ConfluentCloud.GetIdentityPool.Invoke(new()\n {\n DisplayName = \"My Identity Pool\",\n IdentityProvider = new ConfluentCloud.Inputs.GetIdentityPoolIdentityProviderInputArgs\n {\n Id = \"op-abc123\",\n },\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"exampleUsingId\"] = exampleUsingIdIdentityPool.Apply(getIdentityPoolResult =\u003e getIdentityPoolResult),\n [\"exampleUsingName\"] = exampleUsingNameIdentityPool.Apply(getIdentityPoolResult =\u003e getIdentityPoolResult),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-confluentcloud/sdk/go/confluentcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleUsingIdIdentityPool, err := confluentcloud.LookupIdentityPool(ctx, \u0026GetIdentityPoolArgs{\n\t\t\tId: pulumi.StringRef(\"pool-xyz456\"),\n\t\t\tIdentityProvider: GetIdentityPoolIdentityProvider{\n\t\t\t\tId: \"op-abc123\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"exampleUsingId\", exampleUsingIdIdentityPool)\n\t\texampleUsingNameIdentityPool, err := confluentcloud.LookupIdentityPool(ctx, \u0026GetIdentityPoolArgs{\n\t\t\tDisplayName: pulumi.StringRef(\"My Identity Pool\"),\n\t\t\tIdentityProvider: GetIdentityPoolIdentityProvider{\n\t\t\t\tId: \"op-abc123\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"exampleUsingName\", exampleUsingNameIdentityPool)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.confluentcloud.ConfluentcloudFunctions;\nimport com.pulumi.confluentcloud.inputs.GetIdentityPoolArgs;\nimport com.pulumi.confluentcloud.inputs.GetIdentityPoolIdentityProviderArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var exampleUsingIdIdentityPool = ConfluentcloudFunctions.getIdentityPool(GetIdentityPoolArgs.builder()\n .id(\"pool-xyz456\")\n .identityProvider(GetIdentityPoolIdentityProviderArgs.builder()\n .id(\"op-abc123\")\n .build())\n .build());\n\n ctx.export(\"exampleUsingId\", exampleUsingIdIdentityPool.applyValue(getIdentityPoolResult -\u003e getIdentityPoolResult));\n final var exampleUsingNameIdentityPool = ConfluentcloudFunctions.getIdentityPool(GetIdentityPoolArgs.builder()\n .displayName(\"My Identity Pool\")\n .identityProvider(GetIdentityPoolIdentityProviderArgs.builder()\n .id(\"op-abc123\")\n .build())\n .build());\n\n ctx.export(\"exampleUsingName\", exampleUsingNameIdentityPool.applyValue(getIdentityPoolResult -\u003e getIdentityPoolResult));\n }\n}\n```\n```yaml\nvariables:\n exampleUsingIdIdentityPool:\n Fn::Invoke:\n Function: confluentcloud:getIdentityPool\n Arguments:\n id: pool-xyz456\n identityProvider:\n id: op-abc123\n exampleUsingNameIdentityPool:\n Fn::Invoke:\n Function: confluentcloud:getIdentityPool\n Arguments:\n displayName: My Identity Pool\n identityProvider:\n id: op-abc123\noutputs:\n exampleUsingId: ${exampleUsingIdIdentityPool}\n exampleUsingName: ${exampleUsingNameIdentityPool}\n```\n{{% /example %}}\n{{% /examples %}}", + "inputs": { + "description": "A collection of arguments for invoking getIdentityPool.\n", + "properties": { + "displayName": { + "type": "string", + "description": "A human-readable name for the Identity Pool.\n" + }, + "id": { + "type": "string", + "description": "The ID of the Identity Provider associated with the Identity Pool, for example, `op-abc123`.\n" + }, + "identityProvider": { + "$ref": "#/types/confluentcloud:index/getIdentityPoolIdentityProvider:getIdentityPoolIdentityProvider" + } + }, + "type": "object", + "required": [ + "identityProvider" + ] + }, + "outputs": { + "description": "A collection of values returned by getIdentityPool.\n", + "properties": { + "description": { + "type": "string", + "description": "(Required String) A description for the Identity Pool.\n" + }, + "displayName": { + "type": "string", + "description": "(Required String) A human-readable name for the Identity Pool.\n" + }, + "filter": { + "type": "string", + "description": "(Required String) A filter expression in [Supported Common Expression Language (CEL)](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html#supported-common-expression-language-cel-filters) that specifies which identities can authenticate using your identity pool (see [Set identity pool filters](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html#set-identity-pool-filters) for more details).\n" + }, + "id": { + "type": "string", + "description": "(Required String) The ID of the Identity Provider associated with the Identity Pool, for example, `op-abc123`.\n" + }, + "identityClaim": { + "type": "string", + "description": "(Required String) The JSON Web Token (JWT) claim to extract the authenticating identity to Confluent resources from (see [Registered Claim Names](https://datatracker.ietf.org/doc/html/rfc7519#section-4.1) for more details). This appears in the audit log records, showing, for example, that \"identity Z used identity pool X to access topic A\".\n" + }, + "identityProvider": { + "$ref": "#/types/confluentcloud:index/getIdentityPoolIdentityProvider:getIdentityPoolIdentityProvider" + } + }, + "type": "object", + "required": [ + "description", + "displayName", + "filter", + "id", + "identityClaim", + "identityProvider" + ] + } + }, + "confluentcloud:index/getIdentityProvider:getIdentityProvider": { + "description": "[![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy) [![Request Access To OAuth API](https://img.shields.io/badge/-Request%20Access%20To%20OAuth%20API-%23bc8540)](mailto:ccloud-api-access+iam-v2-closed-preview@confluent.io?subject=Request%20to%20join%20OAuth%20API%20Closed%20Preview\u0026body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Closed%20Preview%20for%20iam/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.)\n\n`confluentcloud.IdentityProvider` describes an Identity Provider data source.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as confluentcloud from \"@pulumi/confluentcloud\";\n\nconst exampleUsingIdIdentityProvider = confluentcloud.getIdentityProvider({\n id: \"op-abc123\",\n});\nexport const exampleUsingId = exampleUsingIdIdentityProvider;\nconst exampleUsingNameIdentityProvider = confluentcloud.getIdentityProvider({\n displayName: \"My OIDC Provider: Azure AD\",\n});\nexport const exampleUsingName = exampleUsingNameIdentityProvider;\n```\n```python\nimport pulumi\nimport pulumi_confluentcloud as confluentcloud\n\nexample_using_id_identity_provider = confluentcloud.get_identity_provider(id=\"op-abc123\")\npulumi.export(\"exampleUsingId\", example_using_id_identity_provider)\nexample_using_name_identity_provider = confluentcloud.get_identity_provider(display_name=\"My OIDC Provider: Azure AD\")\npulumi.export(\"exampleUsingName\", example_using_name_identity_provider)\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing ConfluentCloud = Pulumi.ConfluentCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleUsingIdIdentityProvider = ConfluentCloud.GetIdentityProvider.Invoke(new()\n {\n Id = \"op-abc123\",\n });\n\n var exampleUsingNameIdentityProvider = ConfluentCloud.GetIdentityProvider.Invoke(new()\n {\n DisplayName = \"My OIDC Provider: Azure AD\",\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"exampleUsingId\"] = exampleUsingIdIdentityProvider.Apply(getIdentityProviderResult =\u003e getIdentityProviderResult),\n [\"exampleUsingName\"] = exampleUsingNameIdentityProvider.Apply(getIdentityProviderResult =\u003e getIdentityProviderResult),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-confluentcloud/sdk/go/confluentcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleUsingIdIdentityProvider, err := confluentcloud.LookupIdentityProvider(ctx, \u0026GetIdentityProviderArgs{\n\t\t\tId: pulumi.StringRef(\"op-abc123\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"exampleUsingId\", exampleUsingIdIdentityProvider)\n\t\texampleUsingNameIdentityProvider, err := confluentcloud.LookupIdentityProvider(ctx, \u0026GetIdentityProviderArgs{\n\t\t\tDisplayName: pulumi.StringRef(\"My OIDC Provider: Azure AD\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"exampleUsingName\", exampleUsingNameIdentityProvider)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.confluentcloud.ConfluentcloudFunctions;\nimport com.pulumi.confluentcloud.inputs.GetIdentityProviderArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var exampleUsingIdIdentityProvider = ConfluentcloudFunctions.getIdentityProvider(GetIdentityProviderArgs.builder()\n .id(\"op-abc123\")\n .build());\n\n ctx.export(\"exampleUsingId\", exampleUsingIdIdentityProvider.applyValue(getIdentityProviderResult -\u003e getIdentityProviderResult));\n final var exampleUsingNameIdentityProvider = ConfluentcloudFunctions.getIdentityProvider(GetIdentityProviderArgs.builder()\n .displayName(\"My OIDC Provider: Azure AD\")\n .build());\n\n ctx.export(\"exampleUsingName\", exampleUsingNameIdentityProvider.applyValue(getIdentityProviderResult -\u003e getIdentityProviderResult));\n }\n}\n```\n```yaml\nvariables:\n exampleUsingIdIdentityProvider:\n Fn::Invoke:\n Function: confluentcloud:getIdentityProvider\n Arguments:\n id: op-abc123\n exampleUsingNameIdentityProvider:\n Fn::Invoke:\n Function: confluentcloud:getIdentityProvider\n Arguments:\n displayName: 'My OIDC Provider: Azure AD'\noutputs:\n exampleUsingId: ${exampleUsingIdIdentityProvider}\n exampleUsingName: ${exampleUsingNameIdentityProvider}\n```\n{{% /example %}}\n{{% /examples %}}", + "inputs": { + "description": "A collection of arguments for invoking getIdentityProvider.\n", + "properties": { + "displayName": { + "type": "string", + "description": "A human-readable name for the Identity Provider.\n" + }, + "id": { + "type": "string", + "description": "The ID of the Identity Provider, for example, `op-abc123`.\n" + } + }, + "type": "object" + }, + "outputs": { + "description": "A collection of values returned by getIdentityProvider.\n", + "properties": { + "description": { + "type": "string", + "description": "(Required String) A description for the Identity Provider.\n" + }, + "displayName": { + "type": "string", + "description": "(Required String) A human-readable name for the Identity Provider.\n" + }, + "id": { + "type": "string", + "description": "(Required String) The ID of the Identity Provider, for example, `op-abc123`.\n" + }, + "issuer": { + "type": "string", + "description": "(Required String) A publicly reachable issuer URI for the Identity Provider. The unique issuer URI string represents the entity for issuing tokens.\n" + }, + "jwksUri": { + "type": "string", + "description": "(Required String) A publicly reachable JSON Web Key Set (JWKS) URI for the Identity Provider. A JSON Web Key Set (JWKS) provides a set of keys containing the public keys used to verify any JSON Web Token (JWT) issued by your OAuth 2.0 identity provider.\n" + } + }, + "type": "object", + "required": [ + "description", + "displayName", + "id", + "issuer", + "jwksUri" + ] + } + }, "confluentcloud:index/getKafkaCluster:getKafkaCluster": { "description": "[![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy)\n\n`confluentcloud.KafkaCluster` describes a Kafka cluster data source.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as confluentcloud from \"@pulumi/confluentcloud\";\n\nconst exampleUsingId = confluentcloud.getKafkaCluster({\n id: \"lkc-abc123\",\n environment: {\n id: \"env-xyz456\",\n },\n});\nconst test_sa = new confluentcloud.ServiceAccount(\"test-sa\", {description: exampleUsingId.then(exampleUsingId =\u003e `app_mgr for ${exampleUsingId.displayName}`)});\nconst exampleUsingNameKafkaCluster = confluentcloud.getKafkaCluster({\n displayName: \"basic_kafka_cluster\",\n environment: {\n id: \"env-xyz456\",\n },\n});\nexport const exampleUsingName = exampleUsingNameKafkaCluster;\n```\n```python\nimport pulumi\nimport pulumi_confluentcloud as confluentcloud\n\nexample_using_id = confluentcloud.get_kafka_cluster(id=\"lkc-abc123\",\n environment=confluentcloud.GetKafkaClusterEnvironmentArgs(\n id=\"env-xyz456\",\n ))\ntest_sa = confluentcloud.ServiceAccount(\"test-sa\", description=f\"app_mgr for {example_using_id.display_name}\")\nexample_using_name_kafka_cluster = confluentcloud.get_kafka_cluster(display_name=\"basic_kafka_cluster\",\n environment=confluentcloud.GetKafkaClusterEnvironmentArgs(\n id=\"env-xyz456\",\n ))\npulumi.export(\"exampleUsingName\", example_using_name_kafka_cluster)\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing ConfluentCloud = Pulumi.ConfluentCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleUsingId = ConfluentCloud.GetKafkaCluster.Invoke(new()\n {\n Id = \"lkc-abc123\",\n Environment = new ConfluentCloud.Inputs.GetKafkaClusterEnvironmentInputArgs\n {\n Id = \"env-xyz456\",\n },\n });\n\n var test_sa = new ConfluentCloud.ServiceAccount(\"test-sa\", new()\n {\n Description = $\"app_mgr for {exampleUsingId.Apply(getKafkaClusterResult =\u003e getKafkaClusterResult.DisplayName)}\",\n });\n\n var exampleUsingNameKafkaCluster = ConfluentCloud.GetKafkaCluster.Invoke(new()\n {\n DisplayName = \"basic_kafka_cluster\",\n Environment = new ConfluentCloud.Inputs.GetKafkaClusterEnvironmentInputArgs\n {\n Id = \"env-xyz456\",\n },\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"exampleUsingName\"] = exampleUsingNameKafkaCluster.Apply(getKafkaClusterResult =\u003e getKafkaClusterResult),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-confluentcloud/sdk/go/confluentcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleUsingId, err := confluentcloud.LookupKafkaCluster(ctx, \u0026GetKafkaClusterArgs{\n\t\t\tId: pulumi.StringRef(\"lkc-abc123\"),\n\t\t\tEnvironment: GetKafkaClusterEnvironment{\n\t\t\t\tId: \"env-xyz456\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = confluentcloud.NewServiceAccount(ctx, \"test-sa\", \u0026confluentcloud.ServiceAccountArgs{\n\t\t\tDescription: pulumi.String(fmt.Sprintf(\"app_mgr for %v\", exampleUsingId.DisplayName)),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleUsingNameKafkaCluster, err := confluentcloud.LookupKafkaCluster(ctx, \u0026GetKafkaClusterArgs{\n\t\t\tDisplayName: pulumi.StringRef(\"basic_kafka_cluster\"),\n\t\t\tEnvironment: GetKafkaClusterEnvironment{\n\t\t\t\tId: \"env-xyz456\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"exampleUsingName\", exampleUsingNameKafkaCluster)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.confluentcloud.ConfluentcloudFunctions;\nimport com.pulumi.confluentcloud.inputs.GetKafkaClusterArgs;\nimport com.pulumi.confluentcloud.inputs.GetKafkaClusterEnvironmentArgs;\nimport com.pulumi.confluentcloud.ServiceAccount;\nimport com.pulumi.confluentcloud.ServiceAccountArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var exampleUsingId = ConfluentcloudFunctions.getKafkaCluster(GetKafkaClusterArgs.builder()\n .id(\"lkc-abc123\")\n .environment(GetKafkaClusterEnvironmentArgs.builder()\n .id(\"env-xyz456\")\n .build())\n .build());\n\n var test_sa = new ServiceAccount(\"test-sa\", ServiceAccountArgs.builder() \n .description(String.format(\"app_mgr for %s\", exampleUsingId.applyValue(getKafkaClusterResult -\u003e getKafkaClusterResult.displayName())))\n .build());\n\n final var exampleUsingNameKafkaCluster = ConfluentcloudFunctions.getKafkaCluster(GetKafkaClusterArgs.builder()\n .displayName(\"basic_kafka_cluster\")\n .environment(GetKafkaClusterEnvironmentArgs.builder()\n .id(\"env-xyz456\")\n .build())\n .build());\n\n ctx.export(\"exampleUsingName\", exampleUsingNameKafkaCluster.applyValue(getKafkaClusterResult -\u003e getKafkaClusterResult));\n }\n}\n```\n```yaml\nresources:\n test-sa:\n type: confluentcloud:ServiceAccount\n properties:\n description: app_mgr for ${exampleUsingId.displayName}\nvariables:\n exampleUsingId:\n Fn::Invoke:\n Function: confluentcloud:getKafkaCluster\n Arguments:\n id: lkc-abc123\n environment:\n id: env-xyz456\n exampleUsingNameKafkaCluster:\n Fn::Invoke:\n Function: confluentcloud:getKafkaCluster\n Arguments:\n displayName: basic_kafka_cluster\n environment:\n id: env-xyz456\noutputs:\n exampleUsingName: ${exampleUsingNameKafkaCluster}\n```\n{{% /example %}}\n{{% /examples %}}", "inputs": { @@ -2791,6 +3442,98 @@ ] } }, + "confluentcloud:index/getKsqlCluster:getKsqlCluster": { + "description": "## # confluentcloud.KsqlCluster Data Source\n\n[![Open Preview](https://img.shields.io/badge/Lifecycle%20Stage-Open%20Preview-%2300afba)](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy)\n\n`confluentcloud.KsqlCluster` describes a ksqlDB cluster data source.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as confluentcloud from \"@pulumi/confluentcloud\";\n\nconst exampleUsingIdKsqlCluster = confluentcloud.getKsqlCluster({\n id: \"lksqlc-abc123\",\n environment: {\n id: \"env-xyz456\",\n },\n});\nexport const exampleUsingId = exampleUsingIdKsqlCluster;\nconst exampleUsingNameKsqlCluster = confluentcloud.getKsqlCluster({\n displayName: \"ksqldb_cluster\",\n environment: {\n id: \"env-xyz456\",\n },\n});\nexport const exampleUsingName = exampleUsingNameKsqlCluster;\n```\n```python\nimport pulumi\nimport pulumi_confluentcloud as confluentcloud\n\nexample_using_id_ksql_cluster = confluentcloud.get_ksql_cluster(id=\"lksqlc-abc123\",\n environment=confluentcloud.GetKsqlClusterEnvironmentArgs(\n id=\"env-xyz456\",\n ))\npulumi.export(\"exampleUsingId\", example_using_id_ksql_cluster)\nexample_using_name_ksql_cluster = confluentcloud.get_ksql_cluster(display_name=\"ksqldb_cluster\",\n environment=confluentcloud.GetKsqlClusterEnvironmentArgs(\n id=\"env-xyz456\",\n ))\npulumi.export(\"exampleUsingName\", example_using_name_ksql_cluster)\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing ConfluentCloud = Pulumi.ConfluentCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleUsingIdKsqlCluster = ConfluentCloud.GetKsqlCluster.Invoke(new()\n {\n Id = \"lksqlc-abc123\",\n Environment = new ConfluentCloud.Inputs.GetKsqlClusterEnvironmentInputArgs\n {\n Id = \"env-xyz456\",\n },\n });\n\n var exampleUsingNameKsqlCluster = ConfluentCloud.GetKsqlCluster.Invoke(new()\n {\n DisplayName = \"ksqldb_cluster\",\n Environment = new ConfluentCloud.Inputs.GetKsqlClusterEnvironmentInputArgs\n {\n Id = \"env-xyz456\",\n },\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"exampleUsingId\"] = exampleUsingIdKsqlCluster.Apply(getKsqlClusterResult =\u003e getKsqlClusterResult),\n [\"exampleUsingName\"] = exampleUsingNameKsqlCluster.Apply(getKsqlClusterResult =\u003e getKsqlClusterResult),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-confluentcloud/sdk/go/confluentcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleUsingIdKsqlCluster, err := confluentcloud.LookupKsqlCluster(ctx, \u0026GetKsqlClusterArgs{\n\t\t\tId: pulumi.StringRef(\"lksqlc-abc123\"),\n\t\t\tEnvironment: GetKsqlClusterEnvironment{\n\t\t\t\tId: \"env-xyz456\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"exampleUsingId\", exampleUsingIdKsqlCluster)\n\t\texampleUsingNameKsqlCluster, err := confluentcloud.LookupKsqlCluster(ctx, \u0026GetKsqlClusterArgs{\n\t\t\tDisplayName: pulumi.StringRef(\"ksqldb_cluster\"),\n\t\t\tEnvironment: GetKsqlClusterEnvironment{\n\t\t\t\tId: \"env-xyz456\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"exampleUsingName\", exampleUsingNameKsqlCluster)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.confluentcloud.ConfluentcloudFunctions;\nimport com.pulumi.confluentcloud.inputs.GetKsqlClusterArgs;\nimport com.pulumi.confluentcloud.inputs.GetKsqlClusterEnvironmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var exampleUsingIdKsqlCluster = ConfluentcloudFunctions.getKsqlCluster(GetKsqlClusterArgs.builder()\n .id(\"lksqlc-abc123\")\n .environment(GetKsqlClusterEnvironmentArgs.builder()\n .id(\"env-xyz456\")\n .build())\n .build());\n\n ctx.export(\"exampleUsingId\", exampleUsingIdKsqlCluster.applyValue(getKsqlClusterResult -\u003e getKsqlClusterResult));\n final var exampleUsingNameKsqlCluster = ConfluentcloudFunctions.getKsqlCluster(GetKsqlClusterArgs.builder()\n .displayName(\"ksqldb_cluster\")\n .environment(GetKsqlClusterEnvironmentArgs.builder()\n .id(\"env-xyz456\")\n .build())\n .build());\n\n ctx.export(\"exampleUsingName\", exampleUsingNameKsqlCluster.applyValue(getKsqlClusterResult -\u003e getKsqlClusterResult));\n }\n}\n```\n```yaml\nvariables:\n exampleUsingIdKsqlCluster:\n Fn::Invoke:\n Function: confluentcloud:getKsqlCluster\n Arguments:\n id: lksqlc-abc123\n environment:\n id: env-xyz456\n exampleUsingNameKsqlCluster:\n Fn::Invoke:\n Function: confluentcloud:getKsqlCluster\n Arguments:\n displayName: ksqldb_cluster\n environment:\n id: env-xyz456\noutputs:\n exampleUsingId: ${exampleUsingIdKsqlCluster}\n exampleUsingName: ${exampleUsingNameKsqlCluster}\n```\n{{% /example %}}\n{{% /examples %}}", + "inputs": { + "description": "A collection of arguments for invoking getKsqlCluster.\n", + "properties": { + "displayName": { + "type": "string", + "description": "The name of the ksqlDB cluster.\n" + }, + "environment": { + "$ref": "#/types/confluentcloud:index/getKsqlClusterEnvironment:getKsqlClusterEnvironment" + }, + "id": { + "type": "string", + "description": "The ID of the Environment that the ksqlDB cluster belongs to, for example, `env-xyz456`.\n" + } + }, + "type": "object", + "required": [ + "environment" + ] + }, + "outputs": { + "description": "A collection of values returned by getKsqlCluster.\n", + "properties": { + "apiVersion": { + "type": "string", + "description": "(Required String) An API Version of the schema version of the ksqlDB cluster, for example, `ksqldbcm/v2`.\n" + }, + "credentialIdentities": { + "type": "array", + "items": { + "$ref": "#/types/confluentcloud:index/getKsqlClusterCredentialIdentity:getKsqlClusterCredentialIdentity" + } + }, + "csu": { + "type": "integer", + "description": "(Required Number) The number of CSUs (Confluent Streaming Units) in the ksqlDB cluster.\n- `use_detailed_processing_log` (Optional Boolean) Controls whether the row data should be included in the processing log topic.\n" + }, + "displayName": { + "type": "string" + }, + "environment": { + "$ref": "#/types/confluentcloud:index/getKsqlClusterEnvironment:getKsqlClusterEnvironment" + }, + "httpEndpoint": { + "type": "string", + "description": "(Required String) The API endpoint of the ksqlDB cluster, for example, `https://pksqlc-00000.us-central1.gcp.glb.confluent.cloud`.\n- `kafka_cluster` (Optional Configuration Block) supports the following:\n" + }, + "id": { + "type": "string", + "description": "(Required String) The ID of the service or user account that the ksqlDB cluster belongs to, for example, `sa-abc123`.\n" + }, + "kafkaClusters": { + "type": "array", + "items": { + "$ref": "#/types/confluentcloud:index/getKsqlClusterKafkaCluster:getKsqlClusterKafkaCluster" + } + }, + "kind": { + "type": "string", + "description": "(Required String) A kind of the ksqlDB cluster, for example, `Cluster`.\n" + }, + "storage": { + "type": "integer", + "description": "(Required Integer) The amount of storage (in GB) provisioned to this cluster.\n" + }, + "topicPrefix": { + "type": "string", + "description": "(Required String) Topic name prefix used by this ksqlDB cluster. Used to assign ACLs for this ksqlDB cluster to use, for example, `pksqlc-00000`.\n" + }, + "useDetailedProcessingLog": { + "type": "boolean" + } + }, + "type": "object", + "required": [ + "apiVersion", + "credentialIdentities", + "csu", + "displayName", + "environment", + "httpEndpoint", + "id", + "kafkaClusters", + "kind", + "storage", + "topicPrefix", + "useDetailedProcessingLog" + ] + } + }, "confluentcloud:index/getNetwork:getNetwork": { "description": "[![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy)\n\n`confluentcloud.Network` describes a Network data source.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as confluentcloud from \"@pulumi/confluentcloud\";\n\nconst exampleUsingId = confluentcloud.getNetwork({\n id: \"n-abc123\",\n environment: {\n id: \"env-xyz456\",\n },\n});\nconst test_sa = new confluentcloud.ServiceAccount(\"test-sa\", {description: exampleUsingId.then(exampleUsingId =\u003e `test_sa for ${exampleUsingId.displayName}`)});\nconst exampleUsingNameNetwork = confluentcloud.getNetwork({\n displayName: \"my_network\",\n environment: {\n id: \"env-xyz456\",\n },\n});\nexport const exampleUsingName = exampleUsingNameNetwork;\n```\n```python\nimport pulumi\nimport pulumi_confluentcloud as confluentcloud\n\nexample_using_id = confluentcloud.get_network(id=\"n-abc123\",\n environment=confluentcloud.GetNetworkEnvironmentArgs(\n id=\"env-xyz456\",\n ))\ntest_sa = confluentcloud.ServiceAccount(\"test-sa\", description=f\"test_sa for {example_using_id.display_name}\")\nexample_using_name_network = confluentcloud.get_network(display_name=\"my_network\",\n environment=confluentcloud.GetNetworkEnvironmentArgs(\n id=\"env-xyz456\",\n ))\npulumi.export(\"exampleUsingName\", example_using_name_network)\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing ConfluentCloud = Pulumi.ConfluentCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleUsingId = ConfluentCloud.GetNetwork.Invoke(new()\n {\n Id = \"n-abc123\",\n Environment = new ConfluentCloud.Inputs.GetNetworkEnvironmentInputArgs\n {\n Id = \"env-xyz456\",\n },\n });\n\n var test_sa = new ConfluentCloud.ServiceAccount(\"test-sa\", new()\n {\n Description = $\"test_sa for {exampleUsingId.Apply(getNetworkResult =\u003e getNetworkResult.DisplayName)}\",\n });\n\n var exampleUsingNameNetwork = ConfluentCloud.GetNetwork.Invoke(new()\n {\n DisplayName = \"my_network\",\n Environment = new ConfluentCloud.Inputs.GetNetworkEnvironmentInputArgs\n {\n Id = \"env-xyz456\",\n },\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"exampleUsingName\"] = exampleUsingNameNetwork.Apply(getNetworkResult =\u003e getNetworkResult),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-confluentcloud/sdk/go/confluentcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleUsingId, err := confluentcloud.LookupNetwork(ctx, \u0026GetNetworkArgs{\n\t\t\tId: pulumi.StringRef(\"n-abc123\"),\n\t\t\tEnvironment: GetNetworkEnvironment{\n\t\t\t\tId: \"env-xyz456\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = confluentcloud.NewServiceAccount(ctx, \"test-sa\", \u0026confluentcloud.ServiceAccountArgs{\n\t\t\tDescription: pulumi.String(fmt.Sprintf(\"test_sa for %v\", exampleUsingId.DisplayName)),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleUsingNameNetwork, err := confluentcloud.LookupNetwork(ctx, \u0026GetNetworkArgs{\n\t\t\tDisplayName: pulumi.StringRef(\"my_network\"),\n\t\t\tEnvironment: GetNetworkEnvironment{\n\t\t\t\tId: \"env-xyz456\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"exampleUsingName\", exampleUsingNameNetwork)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.confluentcloud.ConfluentcloudFunctions;\nimport com.pulumi.confluentcloud.inputs.GetNetworkArgs;\nimport com.pulumi.confluentcloud.inputs.GetNetworkEnvironmentArgs;\nimport com.pulumi.confluentcloud.ServiceAccount;\nimport com.pulumi.confluentcloud.ServiceAccountArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var exampleUsingId = ConfluentcloudFunctions.getNetwork(GetNetworkArgs.builder()\n .id(\"n-abc123\")\n .environment(GetNetworkEnvironmentArgs.builder()\n .id(\"env-xyz456\")\n .build())\n .build());\n\n var test_sa = new ServiceAccount(\"test-sa\", ServiceAccountArgs.builder() \n .description(String.format(\"test_sa for %s\", exampleUsingId.applyValue(getNetworkResult -\u003e getNetworkResult.displayName())))\n .build());\n\n final var exampleUsingNameNetwork = ConfluentcloudFunctions.getNetwork(GetNetworkArgs.builder()\n .displayName(\"my_network\")\n .environment(GetNetworkEnvironmentArgs.builder()\n .id(\"env-xyz456\")\n .build())\n .build());\n\n ctx.export(\"exampleUsingName\", exampleUsingNameNetwork.applyValue(getNetworkResult -\u003e getNetworkResult));\n }\n}\n```\n```yaml\nresources:\n test-sa:\n type: confluentcloud:ServiceAccount\n properties:\n description: test_sa for ${exampleUsingId.displayName}\nvariables:\n exampleUsingId:\n Fn::Invoke:\n Function: confluentcloud:getNetwork\n Arguments:\n id: n-abc123\n environment:\n id: env-xyz456\n exampleUsingNameNetwork:\n Fn::Invoke:\n Function: confluentcloud:getNetwork\n Arguments:\n displayName: my_network\n environment:\n id: env-xyz456\noutputs:\n exampleUsingName: ${exampleUsingNameNetwork}\n```\n{{% /example %}}\n{{% /examples %}}", "inputs": { @@ -3071,6 +3814,13 @@ "environment": { "$ref": "#/types/confluentcloud:index/getPrivateLinkAccessEnvironment:getPrivateLinkAccessEnvironment" }, + "gcps": { + "type": "array", + "items": { + "$ref": "#/types/confluentcloud:index/getPrivateLinkAccessGcp:getPrivateLinkAccessGcp" + }, + "description": "(Optional Configuration Block) The GCP-specific Private Service Connect details if available. It supports the following:\n" + }, "id": { "type": "string", "description": "(Required String) The ID of the Network that the Private Link Access belongs to, for example, `n-abc123`.\n" @@ -3088,6 +3838,7 @@ "azures", "displayName", "environment", + "gcps", "id", "networks" ] diff --git a/provider/go.mod b/provider/go.mod index 8a34c772..aa71f734 100644 --- a/provider/go.mod +++ b/provider/go.mod @@ -3,10 +3,9 @@ module github.com/pulumi/pulumi-confluentcloud/provider go 1.18 replace ( - github.com/confluentinc/terraform-provider-confluent => github.com/pulumi/terraform-provider-confluent v0.0.0-20220913130044-4dc69b9e3c05 + github.com/confluentinc/terraform-provider-confluent => github.com/pulumi/terraform-provider-confluent v0.0.0-20220913141559-0af345d42281 github.com/confluentinc/terraform-provider-confluent/shim => ./shim - github.com/hashicorp/go-getter v1.5.0 => github.com/hashicorp/go-getter v1.4.0 - github.com/hashicorp/terraform-plugin-sdk/v2 => github.com/pulumi/terraform-plugin-sdk/v2 v2.0.0-20220725190814-23001ad6ec03 + github.com/hashicorp/terraform-plugin-sdk/v2 => github.com/pulumi/terraform-plugin-sdk/v2 v2.0.0-20220824175045-450992f2f5b9 ) require ( @@ -39,6 +38,7 @@ require ( github.com/Masterminds/semver v1.5.0 // indirect github.com/Masterminds/sprig v2.22.0+incompatible // indirect github.com/Microsoft/go-winio v0.5.2 // indirect + github.com/Microsoft/hcsshim v0.9.3 // indirect github.com/ProtonMail/go-crypto v0.0.0-20210428141323-04723f9f07d7 // indirect github.com/acomagu/bufpipe v1.0.3 // indirect github.com/aead/chacha20 v0.0.0-20180709150244-8b13a72661da // indirect @@ -62,6 +62,7 @@ require ( github.com/bgentry/speakeasy v0.1.0 // indirect github.com/blang/semver v3.5.1+incompatible // indirect github.com/cenkalti/backoff/v3 v3.2.2 // indirect + github.com/cenkalti/backoff/v4 v4.1.2 // indirect github.com/cheggaaa/pb v1.0.29 // indirect github.com/confluentinc/ccloud-sdk-go-v2/apikeys v0.3.0 // indirect github.com/confluentinc/ccloud-sdk-go-v2/cmk v0.6.0 // indirect @@ -69,13 +70,20 @@ require ( github.com/confluentinc/ccloud-sdk-go-v2/iam v0.7.0 // indirect github.com/confluentinc/ccloud-sdk-go-v2/identity-provider v0.2.0 // indirect github.com/confluentinc/ccloud-sdk-go-v2/kafkarest v0.3.0 // indirect + github.com/confluentinc/ccloud-sdk-go-v2/ksql v0.1.0 // indirect github.com/confluentinc/ccloud-sdk-go-v2/mds v0.3.0 // indirect - github.com/confluentinc/ccloud-sdk-go-v2/networking v0.2.0 // indirect + github.com/confluentinc/ccloud-sdk-go-v2/networking v0.3.0 // indirect github.com/confluentinc/ccloud-sdk-go-v2/org v0.4.0 // indirect github.com/confluentinc/terraform-provider-confluent v1.1.0 // indirect + github.com/containerd/cgroups v1.0.3 // indirect + github.com/containerd/containerd v1.6.1 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/dimchansky/utfbom v1.1.1 // indirect github.com/djherbis/times v1.5.0 // indirect + github.com/docker/distribution v2.7.1+incompatible // indirect + github.com/docker/docker v20.10.11+incompatible // indirect + github.com/docker/go-connections v0.4.0 // indirect + github.com/docker/go-units v0.4.0 // indirect github.com/dustin/go-humanize v1.0.0 // indirect github.com/edsrzf/mmap-go v1.1.0 // indirect github.com/emirpasic/gods v1.12.0 // indirect @@ -122,8 +130,8 @@ require ( github.com/hashicorp/logutils v1.0.0 // indirect github.com/hashicorp/terraform-exec v0.17.2 // indirect github.com/hashicorp/terraform-json v0.14.0 // indirect - github.com/hashicorp/terraform-plugin-go v0.12.0 // indirect - github.com/hashicorp/terraform-plugin-log v0.6.0 // indirect + github.com/hashicorp/terraform-plugin-go v0.14.0 // indirect + github.com/hashicorp/terraform-plugin-log v0.7.0 // indirect github.com/hashicorp/terraform-plugin-sdk v1.9.1 // indirect github.com/hashicorp/terraform-plugin-sdk/v2 v2.19.0 // indirect github.com/hashicorp/terraform-registry-address v0.0.0-20220623143253-7d51757b572c // indirect @@ -142,6 +150,7 @@ require ( github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 // indirect github.com/kevinburke/ssh_config v1.1.0 // indirect github.com/klauspost/compress v1.13.5 // indirect + github.com/magiconair/properties v1.8.5 // indirect github.com/mattn/go-colorable v0.1.12 // indirect github.com/mattn/go-ieproxy v0.0.1 // indirect github.com/mattn/go-isatty v0.0.14 // indirect @@ -156,11 +165,17 @@ require ( github.com/mitchellh/hashstructure v1.0.0 // indirect github.com/mitchellh/mapstructure v1.5.0 // indirect github.com/mitchellh/reflectwalk v1.0.2 // indirect + github.com/moby/sys/mount v0.2.0 // indirect + github.com/moby/sys/mountinfo v0.5.0 // indirect github.com/moby/term v0.0.0-20210619224110-3f7ff695adc6 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect + github.com/morikuni/aec v1.0.0 // indirect github.com/natefinch/atomic v1.0.1 // indirect github.com/oklog/run v1.0.0 // indirect + github.com/opencontainers/go-digest v1.0.0 // indirect + github.com/opencontainers/image-spec v1.0.3-0.20211202183452-c5a74bcca799 // indirect + github.com/opencontainers/runc v1.1.2 // indirect github.com/opentracing/basictracer-go v1.1.0 // indirect github.com/opentracing/opentracing-go v1.2.0 // indirect github.com/pgavlin/goldmark v1.1.33-0.20200616210433-b5eb04559386 // indirect @@ -184,11 +199,13 @@ require ( github.com/segmentio/asm v1.1.3 // indirect github.com/segmentio/encoding v0.3.5 // indirect github.com/sergi/go-diff v1.2.0 // indirect + github.com/sirupsen/logrus v1.8.1 // indirect github.com/spf13/afero v1.6.0 // indirect github.com/spf13/cast v1.4.1 // indirect github.com/spf13/cobra v1.4.0 // indirect github.com/spf13/pflag v1.0.5 // indirect github.com/stretchr/testify v1.7.2 // indirect + github.com/testcontainers/testcontainers-go v0.13.0 // indirect github.com/texttheater/golang-levenshtein v1.0.1 // indirect github.com/tweekmonster/luser v0.0.0-20161003172636-3fa38070dbd7 // indirect github.com/uber/jaeger-client-go v2.30.0+incompatible // indirect @@ -197,6 +214,7 @@ require ( github.com/vmihailenco/msgpack v4.0.4+incompatible // indirect github.com/vmihailenco/msgpack/v4 v4.3.12 // indirect github.com/vmihailenco/tagparser v0.1.1 // indirect + github.com/walkerus/go-wiremock v1.2.0 // indirect github.com/xanzy/ssh-agent v0.3.2 // indirect github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f // indirect github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 // indirect @@ -221,7 +239,7 @@ require ( google.golang.org/appengine v1.6.7 // indirect google.golang.org/genproto v0.0.0-20220405205423-9d709892a2bf // indirect google.golang.org/grpc v1.48.0 // indirect - google.golang.org/protobuf v1.28.0 // indirect + google.golang.org/protobuf v1.28.1 // indirect gopkg.in/AlecAivazis/survey.v1 v1.8.9-0.20200217094205-6773bdf39b7f // indirect gopkg.in/square/go-jose.v2 v2.6.0 // indirect gopkg.in/warnings.v0 v0.1.2 // indirect diff --git a/provider/go.sum b/provider/go.sum index b945e66e..5fb37a4a 100644 --- a/provider/go.sum +++ b/provider/go.sum @@ -1,5 +1,6 @@ bazil.org/fuse v0.0.0-20160811212531-371fbbdaa898/go.mod h1:Xbm+BRKSBEpa4q4hTSxohYNQpsxXPbPry4JJWOB3LB8= bazil.org/fuse v0.0.0-20180421153158-65cc252bf669/go.mod h1:Xbm+BRKSBEpa4q4hTSxohYNQpsxXPbPry4JJWOB3LB8= +bazil.org/fuse v0.0.0-20200407214033-5883e5a4b512/go.mod h1:FbcW6z/2VytnFDhZfumh8Ss8zxHE6qpMP5sHTRe0EaM= cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU= @@ -50,6 +51,7 @@ cloud.google.com/go/compute v1.5.0 h1:b1zWmYuuHz7gO9kDcM/EpHGr06UgsYNRpNJzI2kFiL cloud.google.com/go/compute v1.5.0/go.mod h1:9SMHyhJlzhlkJqrPAc839t2BZFTSk6Jdj6mkzQJeu0M= cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= +cloud.google.com/go/firestore v1.1.0/go.mod h1:ulACoGHTpvq5r8rxGJ4ddJZBZqakUQqClKRT5SZwBmk= cloud.google.com/go/firestore v1.5.0/go.mod h1:c4nNYR1qdq7eaZ+jSc5fonrQN2k3M7sWATcYTiakjEo= cloud.google.com/go/iam v0.3.0 h1:exkAomrVUuzx9kWFI1wm3KI0uoDeUFPB4kKGzx6x+Gc= cloud.google.com/go/iam v0.3.0/go.mod h1:XzJPvDayI+9zsASAFO68Hk07u3z+f+JrT2xXNdp4bnY= @@ -78,11 +80,13 @@ contrib.go.opencensus.io/exporter/aws v0.0.0-20200617204711-c478e41e60e9/go.mod contrib.go.opencensus.io/exporter/stackdriver v0.13.8/go.mod h1:huNtlWx75MwO7qMs0KrMxPZXzNNWebav1Sq/pm02JdQ= contrib.go.opencensus.io/integrations/ocsql v0.1.7/go.mod h1:8DsSdjz3F+APR+0z0WkU1aRorQCFfRxvqjUUPMbF3fE= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= +github.com/AdaLogics/go-fuzz-headers v0.0.0-20210715213245-6c3934b029d8/go.mod h1:CzsSbkDixRphAF5hS6wbMKq0eI6ccJRb7/A0M6JBnwg= github.com/AlecAivazis/survey/v2 v2.0.5/go.mod h1:WYBhg6f0y/fNYUuesWQc0PKbJcEliGcYHB9sNT3Bg74= github.com/Azure/azure-amqp-common-go/v3 v3.1.0/go.mod h1:PBIGdzcO1teYoufTKMcGibdKaYZv4avS+O6LNIp8bq0= github.com/Azure/azure-amqp-common-go/v3 v3.1.1/go.mod h1:YsDaPfaO9Ub2XeSKdIy2DfwuiQlHQCauHJwSqtrkECI= github.com/Azure/azure-pipeline-go v0.2.3 h1:7U9HBg1JFK3jHl5qmo4CTZKFTVgMwdFHMVtCdfBE21U= github.com/Azure/azure-pipeline-go v0.2.3/go.mod h1:x841ezTBIMG6O3lAcl8ATHnsOPVl2bqk7S3ta6S6u4k= +github.com/Azure/azure-sdk-for-go v16.2.1+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= github.com/Azure/azure-sdk-for-go v51.1.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= github.com/Azure/azure-sdk-for-go v57.0.0+incompatible h1:isVki3PbIFrwKvKdVP1byxo73/pt+Nn174YxW1k4PNw= github.com/Azure/azure-sdk-for-go v57.0.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= @@ -93,10 +97,13 @@ github.com/Azure/go-amqp v0.13.0/go.mod h1:qj+o8xPCz9tMSbQ83Vp8boHahuRDl5mkNHyt1 github.com/Azure/go-amqp v0.13.11/go.mod h1:D5ZrjQqB1dyp1A+G73xeL/kNn7D5qHJIIsNNps7YNmk= github.com/Azure/go-amqp v0.13.12/go.mod h1:D5ZrjQqB1dyp1A+G73xeL/kNn7D5qHJIIsNNps7YNmk= github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78/go.mod h1:LmzpDX56iTiv29bbRTIsUNlaFfuhWRQBWjQdVyAevI8= +github.com/Azure/go-ansiterm v0.0.0-20210608223527-2377c96fe795/go.mod h1:LmzpDX56iTiv29bbRTIsUNlaFfuhWRQBWjQdVyAevI8= github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 h1:UQHMgLO+TxOElx5B5HZ4hJQsoJ/PvUvKRhJHDQXO8P8= github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E= +github.com/Azure/go-autorest v10.8.1+incompatible/go.mod h1:r+4oMnoxhatjLLJ6zxSWATqVooLgysK6ZNox3g/xq24= github.com/Azure/go-autorest v14.2.0+incompatible h1:V5VMDjClD3GiElqLWO7mz2MxNAK/vTfRHdAubSIPRgs= github.com/Azure/go-autorest v14.2.0+incompatible/go.mod h1:r+4oMnoxhatjLLJ6zxSWATqVooLgysK6ZNox3g/xq24= +github.com/Azure/go-autorest/autorest v0.11.1/go.mod h1:JFgpikqFJ/MleTTxwepExTKnFUKKszPS8UavbQYUMuw= github.com/Azure/go-autorest/autorest v0.11.3/go.mod h1:JFgpikqFJ/MleTTxwepExTKnFUKKszPS8UavbQYUMuw= github.com/Azure/go-autorest/autorest v0.11.17/go.mod h1:eipySxLmqSyC5s5k1CLupqet0PSENBEDP93LQ9a8QYw= github.com/Azure/go-autorest/autorest v0.11.18/go.mod h1:dSiJPy22c3u0OtOKDNttNgqpNFY/GeWa7GH/Pz56QRA= @@ -139,18 +146,44 @@ github.com/Masterminds/semver v1.5.0 h1:H65muMkzWKEuNDnfl9d70GUjFniHKHRbFPGBuZ3Q github.com/Masterminds/semver v1.5.0/go.mod h1:MB6lktGJrhw8PrUyiEoblNEGEQ+RzHPF078ddwwvV3Y= github.com/Masterminds/sprig v2.22.0+incompatible h1:z4yfnGrZ7netVz+0EDJ0Wi+5VZCSYp4Z0m2dk6cEM60= github.com/Masterminds/sprig v2.22.0+incompatible/go.mod h1:y6hNFY5UBTIWBxnzTeuNhlNS5hqE0NB0E6fgfo2Br3o= +github.com/Microsoft/go-winio v0.4.11/go.mod h1:VhR8bwka0BXejwEJY73c50VrPtXAaKcyvVC4A4RozmA= github.com/Microsoft/go-winio v0.4.14/go.mod h1:qXqCSQ3Xa7+6tgxaGTIe4Kpcdsi+P8jBhyzoq1bpyYA= github.com/Microsoft/go-winio v0.4.15-0.20190919025122-fc70bd9a86b5/go.mod h1:tTuCMEN+UleMWgg9dVx4Hu52b1bJo+59jBh3ajtinzw= +github.com/Microsoft/go-winio v0.4.16-0.20201130162521-d1ffc52c7331/go.mod h1:XB6nPKklQyQ7GC9LdcBEcBl8PF76WugXOPRXwdLnMv0= github.com/Microsoft/go-winio v0.4.16/go.mod h1:XB6nPKklQyQ7GC9LdcBEcBl8PF76WugXOPRXwdLnMv0= +github.com/Microsoft/go-winio v0.4.17-0.20210211115548-6eac466e5fa3/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= +github.com/Microsoft/go-winio v0.4.17-0.20210324224401-5516f17a5958/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= +github.com/Microsoft/go-winio v0.4.17/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= +github.com/Microsoft/go-winio v0.5.1/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= github.com/Microsoft/go-winio v0.5.2 h1:a9IhgEQBCUEk6QCdml9CiJGhAws+YwffDHEMp1VMrpA= github.com/Microsoft/go-winio v0.5.2/go.mod h1:WpS1mjBmmwHBEWmogvA2mj8546UReBk4v8QkMxJ6pZY= +github.com/Microsoft/hcsshim v0.8.6/go.mod h1:Op3hHsoHPAvb6lceZHDtd9OkTew38wNoXnJs8iY7rUg= +github.com/Microsoft/hcsshim v0.8.7-0.20190325164909-8abdbb8205e4/go.mod h1:Op3hHsoHPAvb6lceZHDtd9OkTew38wNoXnJs8iY7rUg= +github.com/Microsoft/hcsshim v0.8.7/go.mod h1:OHd7sQqRFrYd3RmSgbgji+ctCwkbq2wbEYNSzOYtcBQ= github.com/Microsoft/hcsshim v0.8.9/go.mod h1:5692vkUqntj1idxauYlpoINNKeqCiG6Sg38RRsjT5y8= +github.com/Microsoft/hcsshim v0.8.14/go.mod h1:NtVKoYxQuTLx6gEq0L96c9Ju4JbRJ4nY2ow3VK6a9Lg= +github.com/Microsoft/hcsshim v0.8.15/go.mod h1:x38A4YbHbdxJtc0sF6oIz+RG0npwSCAvn69iY6URG00= +github.com/Microsoft/hcsshim v0.8.16/go.mod h1:o5/SZqmR7x9JNKsW3pu+nqHm0MF8vbA+VxGOoXdC600= +github.com/Microsoft/hcsshim v0.8.20/go.mod h1:+w2gRZ5ReXQhFOrvSQeNfhrYB/dg3oDwTOcER2fw4I4= +github.com/Microsoft/hcsshim v0.8.21/go.mod h1:+w2gRZ5ReXQhFOrvSQeNfhrYB/dg3oDwTOcER2fw4I4= +github.com/Microsoft/hcsshim v0.8.23/go.mod h1:4zegtUJth7lAvFyc6cH2gGQ5B3OFQim01nnU2M8jKDg= +github.com/Microsoft/hcsshim v0.9.2/go.mod h1:7pLA8lDk46WKDWlVsENo92gC0XFa8rbKfyFRBqxEbCc= github.com/Microsoft/hcsshim v0.9.3 h1:k371PzBuRrz2b+ebGuI2nVgVhgsVX60jMfSw80NECxo= +github.com/Microsoft/hcsshim v0.9.3/go.mod h1:7pLA8lDk46WKDWlVsENo92gC0XFa8rbKfyFRBqxEbCc= +github.com/Microsoft/hcsshim/test v0.0.0-20201218223536-d3e5debf77da/go.mod h1:5hlzMzRKMLyo42nCZ9oml8AdTlq/0cvIaBv6tK1RehU= +github.com/Microsoft/hcsshim/test v0.0.0-20210227013316-43a75bb4edd3/go.mod h1:mw7qgWloBUl75W/gVH3cQszUg1+gUITj7D6NY7ywVnY= +github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46/go.mod h1:3wb06e3pkSAbeQ52E9H9iFoQsEEwGN64994WTCIhntQ= +github.com/NYTimes/gziphandler v1.1.1/go.mod h1:n/CVRwUEOgIxrgPvAQhUUr9oeUtvrhMomdKFjzJNB0c= github.com/Netflix/go-expect v0.0.0-20180615182759-c93bf25de8e8/go.mod h1:oX5x61PbNXchhh0oikYAH+4Pcfw5LKv21+Jnpr6r6Pc= github.com/Netflix/go-expect v0.0.0-20220104043353-73e0943537d2 h1:+vx7roKuyA63nhn5WAunQHLTznkw5W8b1Xc0dNjp83s= github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= github.com/ProtonMail/go-crypto v0.0.0-20210428141323-04723f9f07d7 h1:YoJbenK9C67SkzkDfmQuVln04ygHj3vjZfd9FL+GmQQ= github.com/ProtonMail/go-crypto v0.0.0-20210428141323-04723f9f07d7/go.mod h1:z4/9nQmJSSwwds7ejkxaJwO37dru3geImFUdJlaLzQo= +github.com/PuerkitoBio/purell v1.0.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= +github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= +github.com/PuerkitoBio/urlesc v0.0.0-20160726150825-5bd2802263f2/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= +github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= +github.com/Shopify/logrus-bugsnag v0.0.0-20171204204709-577dee27f20d/go.mod h1:HI8ITrYtUY+O+ZhtlqUnD8+KwNPOyugEhfP9fdUIaEQ= github.com/acomagu/bufpipe v1.0.3 h1:fxAGrHZTgQ9w5QqVItgzwj235/uYZYgbXitB+dLupOk= github.com/acomagu/bufpipe v1.0.3/go.mod h1:mxdxdup/WdsKVreO5GpW4+M/1CE2sMG4jeGJ2sYmHc4= github.com/aead/chacha20 v0.0.0-20180709150244-8b13a72661da h1:KjTM2ks9d14ZYCvmHS9iAKVt9AyzRSqNU1qabPih5BY= @@ -164,6 +197,9 @@ github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuy github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= +github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho= +github.com/alexflint/go-filemutex v0.0.0-20171022225611-72bdc8eae2ae/go.mod h1:CgnQgUtFrFz9mxFNtED3jI5tLDjKlOM+oUF/sTk6ps0= +github.com/alexflint/go-filemutex v1.1.0/go.mod h1:7P4iRhttt/nUvUOrYIhcpMzv2G6CY9UnI16Z+UJqRyk= github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239 h1:kFOfPq6dUM1hTo4JG6LR5AXSUEsOjtdm0kw0FtQtMJA= github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239/go.mod h1:2FmKhYUyUczH0OGQWaF5ceTx0UBShxjsH6f8oGKYe2c= github.com/antihax/optional v1.0.0 h1:xK2lYat7ZLaVVcIuj82J8kIro4V6kDe0AUDFboUCwcg= @@ -178,6 +214,9 @@ github.com/apparentlymart/go-textseg v1.0.0/go.mod h1:z96Txxhf3xSFMPmb5X/1W05FF/ github.com/apparentlymart/go-textseg/v12 v12.0.0/go.mod h1:S/4uRK2UtaQttw1GenVJEynmyUenKwP++x/+DdGV/Ec= github.com/apparentlymart/go-textseg/v13 v13.0.0 h1:Y+KvPE1NYz0xl601PVImeQfFyEy6iT90AvPUL1NNfNw= github.com/apparentlymart/go-textseg/v13 v13.0.0/go.mod h1:ZK2fH7c4NqDTLtiYLvIkEghdlcqw7yxLeM89kiTRPUo= +github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= +github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8= +github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY= github.com/armon/go-metrics v0.3.0/go.mod h1:zXjbSimjXTd7vOpY8B0/2LpvNvDoXBuplAD+gJD3GYs= github.com/armon/go-metrics v0.3.3/go.mod h1:4O98XIr/9W0sxpJ8UaYkvjk10Iff7SnFrb4QAOwNTFc= github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= @@ -185,6 +224,8 @@ github.com/armon/go-radix v1.0.0 h1:F4z6KzEeeQIMeLFa97iZU6vupzoecKdU5TX24SNppXI= github.com/armon/go-radix v1.0.0/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPdPJAN/hZIm0C4OItdklCFmMRWYpio= github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs= +github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY= +github.com/aws/aws-sdk-go v1.15.11/go.mod h1:mFuSZ37Z9YOHbQEwBWztmVzqXrEkub65tZoCYDt7FT0= github.com/aws/aws-sdk-go v1.15.27/go.mod h1:mFuSZ37Z9YOHbQEwBWztmVzqXrEkub65tZoCYDt7FT0= github.com/aws/aws-sdk-go v1.15.78/go.mod h1:E3/ieXAlvM0XWO57iftYVDLLvQ824smPP3ATZkfNZeM= github.com/aws/aws-sdk-go v1.25.3/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= @@ -215,7 +256,9 @@ github.com/aws/aws-sdk-go-v2/service/sts v1.7.0 h1:1at4e5P+lvHNl2nUktdM2/v+rpICg github.com/aws/aws-sdk-go-v2/service/sts v1.7.0/go.mod h1:0qcSMCyASQPN2sk/1KQLQ2Fh6yq8wm0HSDAimPhzCoM= github.com/aws/smithy-go v1.8.0 h1:AEwwwXQZtUwP5Mz506FeXXrKBe0jA8gVM+1gEcSRooc= github.com/aws/smithy-go v1.8.0/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/benbjohnson/clock v1.0.3/go.mod h1:bGMdMPoPVvcYyt1gHDf4J2KE153Yf9BuiUKYMaxlTDM= github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= +github.com/beorn7/perks v0.0.0-20160804104726-4c0e84591b9a/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= @@ -223,22 +266,47 @@ github.com/bgentry/go-netrc v0.0.0-20140422174119-9fd32a8b3d3d h1:xDfNPAt8lFiC1U github.com/bgentry/go-netrc v0.0.0-20140422174119-9fd32a8b3d3d/go.mod h1:6QX/PXZ00z/TKoufEY6K/a0k6AhaJrQKdFe6OfVXsa4= github.com/bgentry/speakeasy v0.1.0 h1:ByYyxL9InA1OWqxJqqp2A5pYHUrCiAL6K3J+LKSsQkY= github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= +github.com/bitly/go-simplejson v0.5.0/go.mod h1:cXHtHw4XUPsvGaxgjIAn8PhEWG9NfngEKAMDJEczWVA= +github.com/bits-and-blooms/bitset v1.2.0/go.mod h1:gIdJ4wp64HaoK2YrL1Q5/N7Y16edYb8uY+O0FJTyyDA= +github.com/bketelsen/crypt v0.0.3-0.20200106085610-5cbc8cc4026c/go.mod h1:MKsuJmJgSg28kpZDP6UIiPt0e0Oz0kqKNGyRaWEPv84= +github.com/blang/semver v3.1.0+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk= github.com/blang/semver v3.5.1+incompatible h1:cQNTCjp13qL8KC3Nbxr/y2Bqb63oX6wdnnjpJbkM4JQ= github.com/blang/semver v3.5.1+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk= +github.com/bmizerany/assert v0.0.0-20160611221934-b7ed37b82869/go.mod h1:Ekp36dRnpXw/yCqJaO+ZrUyxD+3VXMFFr56k5XYrpB4= +github.com/bshuster-repo/logrus-logstash-hook v0.4.1/go.mod h1:zsTqEiSzDgAa/8GZR7E1qaXrhYNDKBYy5/dWPTIflbk= +github.com/buger/jsonparser v0.0.0-20180808090653-f4dd9f5a6b44/go.mod h1:bbYlZJ7hK1yFx9hf58LP0zeX7UjIGs20ufpu3evjr+s= +github.com/buger/jsonparser v1.1.1/go.mod h1:6RYKKt7H4d4+iWqouImQ9R2FZql3VbhNgx27UK13J/0= +github.com/bugsnag/bugsnag-go v0.0.0-20141110184014-b1d153021fcd/go.mod h1:2oa8nejYd4cQ/b0hMIopN0lCRxU0bueqREvZLWFrtK8= +github.com/bugsnag/osext v0.0.0-20130617224835-0dd3f918b21b/go.mod h1:obH5gd0BsqsP2LwDJ9aOkm/6J86V6lyAXCoQWGw3K50= +github.com/bugsnag/panicwrap v0.0.0-20151223152923-e2c28503fcd0/go.mod h1:D/8v3kj0zr8ZAKg1AQ6crr+5VwKN5eIywRkfhyM/+dE= github.com/cenkalti/backoff/v3 v3.0.0/go.mod h1:cIeZDE3IrqwwJl6VUwCN6trj1oXrTS4rc0ij+ULvLYs= github.com/cenkalti/backoff/v3 v3.2.2 h1:cfUAAO3yvKMYKPrvhDuHSwQnhZNk/RMHKdZqKTxfm6M= github.com/cenkalti/backoff/v3 v3.2.2/go.mod h1:cIeZDE3IrqwwJl6VUwCN6trj1oXrTS4rc0ij+ULvLYs= +github.com/cenkalti/backoff/v4 v4.1.1/go.mod h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInqkPWOWmG2CLw= github.com/cenkalti/backoff/v4 v4.1.2 h1:6Yo7N8UP2K6LWZnW94DLVSSrbobcWdVzAYOisuDPIFo= +github.com/cenkalti/backoff/v4 v4.1.2/go.mod h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInqkPWOWmG2CLw= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= github.com/census-instrumentation/opencensus-proto v0.3.0/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= +github.com/certifi/gocertifi v0.0.0-20191021191039-0944d244cd40/go.mod h1:sGbDF6GwGcLpkNXPUTkMRoywsNa/ol15pxFe6ERfguA= +github.com/certifi/gocertifi v0.0.0-20200922220541-2c3bb06c6054/go.mod h1:sGbDF6GwGcLpkNXPUTkMRoywsNa/ol15pxFe6ERfguA= github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= +github.com/cespare/xxhash/v2 v2.1.2/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= +github.com/checkpoint-restore/go-criu/v4 v4.1.0/go.mod h1:xUQBLp4RLc5zJtWY++yjOoMoB5lihDt7fai+75m+rGw= +github.com/checkpoint-restore/go-criu/v5 v5.0.0/go.mod h1:cfwC0EG7HMUenopBsUf9d89JlCLQIfgVcNsNN0t6T2M= +github.com/checkpoint-restore/go-criu/v5 v5.3.0/go.mod h1:E/eQpaFtUKGOOSEBZgmKAcn+zUUwWxqcaKZlF54wK8E= github.com/cheggaaa/pb v1.0.27/go.mod h1:pQciLPpbU0oxA0h+VJYYLxO+XeDQb5pZijXscXHm81s= github.com/cheggaaa/pb v1.0.29 h1:FckUN5ngEk2LpvuG0fw1GEFx6LtyY2pWI/Z2QgCnEYo= github.com/cheggaaa/pb v1.0.29/go.mod h1:W40334L7FMC5JKWldsTWbdGjLo0RxUKK73K+TuPxX30= github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= +github.com/cilium/ebpf v0.0.0-20200110133405-4032b1d8aae3/go.mod h1:MA5e5Lr8slmEg9bt0VpxxWqJlO4iwu3FBdHUzV7wQVg= +github.com/cilium/ebpf v0.0.0-20200702112145-1c8d4c9ef775/go.mod h1:7cR51M8ViRLIdUjrmSXlK9pkrsDlLHbO8jiB8X8JnOc= +github.com/cilium/ebpf v0.2.0/go.mod h1:To2CFviqOWL/M0gIMsvSMlqe7em/l1ALkX1PyjrX2Qs= +github.com/cilium/ebpf v0.4.0/go.mod h1:4tRaxcgiL706VnOzHOdBlY8IEAIdxINsQBcU4xJJXRs= +github.com/cilium/ebpf v0.6.2/go.mod h1:4tRaxcgiL706VnOzHOdBlY8IEAIdxINsQBcU4xJJXRs= +github.com/cilium/ebpf v0.7.0/go.mod h1:/oI2+1shJiTGAMgl6/RgJr36Eo1jzrRcAWbcXO2usCA= github.com/circonus-labs/circonus-gometrics v2.3.1+incompatible/go.mod h1:nmEj6Dob7S7YxXgwXpfOuvO54S+tGdZdw9fuRZt25Ag= github.com/circonus-labs/circonusllhist v0.1.3/go.mod h1:kMXHVDlOchFAehlya5ePtbp5jckzBHf4XRpQvBOLI+I= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= @@ -251,6 +319,10 @@ github.com/cncf/xds/go v0.0.0-20210805033703-aa0b78936158/go.mod h1:eXthEFrGJvWH github.com/cncf/xds/go v0.0.0-20210922020428-25de7278fc84/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20211001041855-01bcc9b48dfe/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa/go.mod h1:zn76sxSg3SzpJ0PPJaLDCu+Bu0Lg3sKTORVIj19EIF8= +github.com/cockroachdb/datadriven v0.0.0-20200714090401-bf6692d28da5/go.mod h1:h6jFvWxBdQXxjopDMZyH2UVceIRfR84bdzbkoKrsWNo= +github.com/cockroachdb/errors v1.2.4/go.mod h1:rQD95gz6FARkaKkQXUksEje/d9a6wBJoCr5oaCLELYA= +github.com/cockroachdb/logtags v0.0.0-20190617123548-eb05cc24525f/go.mod h1:i/u985jwjWRlyHXQbwatDASoW0RMlZ/3i9yJHE2xLkI= github.com/confluentinc/ccloud-sdk-go-v2/apikeys v0.3.0 h1:7AixGTQ3QRYRfmVEJRIs06e0kWuHtc3ObxUr4HZx3p0= github.com/confluentinc/ccloud-sdk-go-v2/apikeys v0.3.0/go.mod h1:wNa9Qg2e2v/+PQsUyKh+qB22hhLkPR6Ahy6rP+1jmGI= github.com/confluentinc/ccloud-sdk-go-v2/cmk v0.6.0 h1:qOBunYd2bWo/IikZ60xMDcp/KfZ/ZahCOoeTjxXOoRU= @@ -263,54 +335,191 @@ github.com/confluentinc/ccloud-sdk-go-v2/identity-provider v0.2.0 h1:9TT8UCFRc5z github.com/confluentinc/ccloud-sdk-go-v2/identity-provider v0.2.0/go.mod h1:JLmrXfnT2PzcuXHD8a6c2cW1c9LKK7aMsdZjjqxYPEk= github.com/confluentinc/ccloud-sdk-go-v2/kafkarest v0.3.0 h1:SoH721t+NGT5Lxxn0sj9DO9YvS2CPh3FdN/+iBKmWAI= github.com/confluentinc/ccloud-sdk-go-v2/kafkarest v0.3.0/go.mod h1:+3crwD4MWa0CGGuyEixXMeLNy0VIRTbxezSduM33qbg= +github.com/confluentinc/ccloud-sdk-go-v2/ksql v0.1.0 h1:dtLqrG3nltpe2xucO8Bj17HPw+mTJG5zYxJksQ7+Yhw= +github.com/confluentinc/ccloud-sdk-go-v2/ksql v0.1.0/go.mod h1:0LAvd4VqlaRwKU4yvDEkVCtV43yNezt56+hBe9Lmg7Q= github.com/confluentinc/ccloud-sdk-go-v2/mds v0.3.0 h1:DaipFGVdZjAE8eSztUrA/4b74kj6k5lZ0EJmK1RqccU= github.com/confluentinc/ccloud-sdk-go-v2/mds v0.3.0/go.mod h1:ufn9In8kDsyJ7Nru2ygpAaWdGw7DSDTOTtDhQVSmZjs= -github.com/confluentinc/ccloud-sdk-go-v2/networking v0.2.0 h1:tXxfF1Nq90ca/xf3gcN/QPHxCQ63rmlNOlsmTBv3MIw= -github.com/confluentinc/ccloud-sdk-go-v2/networking v0.2.0/go.mod h1:EcmHhRib8dDuO5ZsO+qS3scX9xEP5E/IXOVoItp5X2s= +github.com/confluentinc/ccloud-sdk-go-v2/networking v0.3.0 h1:ST2ehvjsWyA+tPoFFEyDlo/RDraEzFFL7tei4pXWH5o= +github.com/confluentinc/ccloud-sdk-go-v2/networking v0.3.0/go.mod h1:EcmHhRib8dDuO5ZsO+qS3scX9xEP5E/IXOVoItp5X2s= github.com/confluentinc/ccloud-sdk-go-v2/org v0.4.0 h1:WcJs6RbY8nU5HapaG0ZCH9ftFBtZyuKMIuNAkdVmc2o= github.com/confluentinc/ccloud-sdk-go-v2/org v0.4.0/go.mod h1:zREJ+OOZz0rEXCaPx0JbCVj2EfNnYs/c6qhPDfhldI0= +github.com/containerd/aufs v0.0.0-20200908144142-dab0cbea06f4/go.mod h1:nukgQABAEopAHvB6j7cnP5zJ+/3aVcE7hCYqvIwAHyE= +github.com/containerd/aufs v0.0.0-20201003224125-76a6863f2989/go.mod h1:AkGGQs9NM2vtYHaUen+NljV0/baGCAPELGm2q9ZXpWU= +github.com/containerd/aufs v0.0.0-20210316121734-20793ff83c97/go.mod h1:kL5kd6KM5TzQjR79jljyi4olc1Vrx6XBlcyj3gNv2PU= +github.com/containerd/aufs v1.0.0/go.mod h1:kL5kd6KM5TzQjR79jljyi4olc1Vrx6XBlcyj3gNv2PU= +github.com/containerd/btrfs v0.0.0-20201111183144-404b9149801e/go.mod h1:jg2QkJcsabfHugurUvvPhS3E08Oxiuh5W/g1ybB4e0E= +github.com/containerd/btrfs v0.0.0-20210316141732-918d888fb676/go.mod h1:zMcX3qkXTAi9GI50+0HOeuV8LU2ryCE/V2vG/ZBiTss= +github.com/containerd/btrfs v1.0.0/go.mod h1:zMcX3qkXTAi9GI50+0HOeuV8LU2ryCE/V2vG/ZBiTss= +github.com/containerd/cgroups v0.0.0-20190717030353-c4b9ac5c7601/go.mod h1:X9rLEHIqSf/wfK8NsPqxJmeZgW4pcfzdXITDrUSJ6uI= github.com/containerd/cgroups v0.0.0-20190919134610-bf292b21730f/go.mod h1:OApqhQ4XNSNC13gXIwDjhOQxjWa/NxkwZXJ1EvqT0ko= +github.com/containerd/cgroups v0.0.0-20200531161412-0dbf7f05ba59/go.mod h1:pA0z1pT8KYB3TCXK/ocprsh7MAkoW8bZVzPdih9snmM= +github.com/containerd/cgroups v0.0.0-20200710171044-318312a37340/go.mod h1:s5q4SojHctfxANBDvMeIaIovkq29IP48TKAxnhYRxvo= +github.com/containerd/cgroups v0.0.0-20200824123100-0b889c03f102/go.mod h1:s5q4SojHctfxANBDvMeIaIovkq29IP48TKAxnhYRxvo= +github.com/containerd/cgroups v0.0.0-20210114181951-8a68de567b68/go.mod h1:ZJeTFisyysqgcCdecO57Dj79RfL0LNeGiFUqLYQRYLE= +github.com/containerd/cgroups v1.0.1/go.mod h1:0SJrPIenamHDcZhEcJMNBB85rHcUsw4f25ZfBiPYRkU= github.com/containerd/cgroups v1.0.3 h1:ADZftAkglvCiD44c77s5YmMqaP2pzVCFZvBmAlBdAP4= +github.com/containerd/cgroups v1.0.3/go.mod h1:/ofk34relqNjSGyqPrmEULrO4Sc8LJhvJmWbUCUKqj8= github.com/containerd/console v0.0.0-20180822173158-c12b1e7919c1/go.mod h1:Tj/on1eG8kiEhd0+fhSDzsPAFESxzBBvdyEgyryXffw= +github.com/containerd/console v0.0.0-20181022165439-0650fd9eeb50/go.mod h1:Tj/on1eG8kiEhd0+fhSDzsPAFESxzBBvdyEgyryXffw= +github.com/containerd/console v0.0.0-20191206165004-02ecf6a7291e/go.mod h1:8Pf4gM6VEbTNRIT26AyyU7hxdQU3MvAvxVI0sc00XBE= +github.com/containerd/console v1.0.1/go.mod h1:XUsP6YE/mKtz6bxc+I8UiKKTP04qjQL4qcS3XoQ5xkw= +github.com/containerd/console v1.0.2/go.mod h1:ytZPjGgY2oeTkAONYafi2kSj0aYggsf8acV1PGKCbzQ= +github.com/containerd/console v1.0.3/go.mod h1:7LqA/THxQ86k76b8c/EMSiaJ3h1eZkMkXar0TQ1gf3U= +github.com/containerd/containerd v1.2.10/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= +github.com/containerd/containerd v1.3.0-beta.2.0.20190828155532-0293cbd26c69/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= +github.com/containerd/containerd v1.3.0/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= +github.com/containerd/containerd v1.3.1-0.20191213020239-082f7e3aed57/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= github.com/containerd/containerd v1.3.2/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= github.com/containerd/containerd v1.3.4/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= +github.com/containerd/containerd v1.4.0-beta.2.0.20200729163537-40b22ef07410/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= +github.com/containerd/containerd v1.4.1/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= +github.com/containerd/containerd v1.4.3/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= +github.com/containerd/containerd v1.4.9/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= +github.com/containerd/containerd v1.5.0-beta.1/go.mod h1:5HfvG1V2FsKesEGQ17k5/T7V960Tmcumvqn8Mc+pCYQ= +github.com/containerd/containerd v1.5.0-beta.3/go.mod h1:/wr9AVtEM7x9c+n0+stptlo/uBBoBORwEx6ardVcmKU= +github.com/containerd/containerd v1.5.0-beta.4/go.mod h1:GmdgZd2zA2GYIBZ0w09ZvgqEq8EfBp/m3lcVZIvPHhI= +github.com/containerd/containerd v1.5.0-rc.0/go.mod h1:V/IXoMqNGgBlabz3tHD2TWDoTJseu1FGOKuoA4nNb2s= +github.com/containerd/containerd v1.5.1/go.mod h1:0DOxVqwDy2iZvrZp2JUx/E+hS0UNTVn7dJnIOwtYR4g= +github.com/containerd/containerd v1.5.7/go.mod h1:gyvv6+ugqY25TiXxcZC3L5yOeYgEw0QMhscqVp1AR9c= +github.com/containerd/containerd v1.5.8/go.mod h1:YdFSv5bTFLpG2HIYmfqDpSYYTDX+mc5qtSuYx1YUb/s= +github.com/containerd/containerd v1.5.9/go.mod h1:fvQqCfadDGga5HZyn3j4+dx56qj2I9YwBrlSdalvJYQ= github.com/containerd/containerd v1.6.1 h1:oa2uY0/0G+JX4X7hpGCYvkp9FjUancz56kSNnb1sG3o= +github.com/containerd/containerd v1.6.1/go.mod h1:1nJz5xCZPusx6jJU8Frfct988y0NpumIq9ODB0kLtoE= github.com/containerd/continuity v0.0.0-20190426062206-aaeac12a7ffc/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y= +github.com/containerd/continuity v0.0.0-20190815185530-f2a389ac0a02/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y= +github.com/containerd/continuity v0.0.0-20191127005431-f65d91d395eb/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y= github.com/containerd/continuity v0.0.0-20200709052629-daa8e1ccc0bc/go.mod h1:cECdGN1O8G9bgKTlLhuPJimka6Xb/Gg7vYzCTNVxhvo= +github.com/containerd/continuity v0.0.0-20200710164510-efbc4488d8fe/go.mod h1:cECdGN1O8G9bgKTlLhuPJimka6Xb/Gg7vYzCTNVxhvo= +github.com/containerd/continuity v0.0.0-20201208142359-180525291bb7/go.mod h1:kR3BEg7bDFaEddKm54WSmrol1fKWDU1nKYkgrcgZT7Y= +github.com/containerd/continuity v0.0.0-20210208174643-50096c924a4e/go.mod h1:EXlVlkqNba9rJe3j7w3Xa924itAMLgZH4UD/Q4PExuQ= +github.com/containerd/continuity v0.1.0/go.mod h1:ICJu0PwR54nI0yPEnJ6jcS+J7CZAUXrLh8lPo2knzsM= +github.com/containerd/continuity v0.2.2 h1:QSqfxcn8c+12slxwu00AtzXrsami0MJb/MQs9lOLHLA= +github.com/containerd/continuity v0.2.2/go.mod h1:pWygW9u7LtS1o4N/Tn0FoCFDIXZ7rxcMX7HX1Dmibvk= +github.com/containerd/fifo v0.0.0-20180307165137-3d5202aec260/go.mod h1:ODA38xgv3Kuk8dQz2ZQXpnv/UZZUHUCL7pnLehbXgQI= github.com/containerd/fifo v0.0.0-20190226154929-a9fb20d87448/go.mod h1:ODA38xgv3Kuk8dQz2ZQXpnv/UZZUHUCL7pnLehbXgQI= +github.com/containerd/fifo v0.0.0-20200410184934-f15a3290365b/go.mod h1:jPQ2IAeZRCYxpS/Cm1495vGFww6ecHmMk1YJH2Q5ln0= +github.com/containerd/fifo v0.0.0-20201026212402-0724c46b320c/go.mod h1:jPQ2IAeZRCYxpS/Cm1495vGFww6ecHmMk1YJH2Q5ln0= +github.com/containerd/fifo v0.0.0-20210316144830-115abcc95a1d/go.mod h1:ocF/ME1SX5b1AOlWi9r677YJmCPSwwWnQ9O123vzpE4= +github.com/containerd/fifo v1.0.0/go.mod h1:ocF/ME1SX5b1AOlWi9r677YJmCPSwwWnQ9O123vzpE4= +github.com/containerd/go-cni v1.0.1/go.mod h1:+vUpYxKvAF72G9i1WoDOiPGRtQpqsNW/ZHtSlv++smU= +github.com/containerd/go-cni v1.0.2/go.mod h1:nrNABBHzu0ZwCug9Ije8hL2xBCYh/pjfMb1aZGrrohk= +github.com/containerd/go-cni v1.1.0/go.mod h1:Rflh2EJ/++BA2/vY5ao3K6WJRR/bZKsX123aPk+kUtA= +github.com/containerd/go-cni v1.1.3/go.mod h1:Rflh2EJ/++BA2/vY5ao3K6WJRR/bZKsX123aPk+kUtA= github.com/containerd/go-runc v0.0.0-20180907222934-5a6d9f37cfa3/go.mod h1:IV7qH3hrUgRmyYrtgEeGWJfWbgcHL9CSRruz2Vqcph0= +github.com/containerd/go-runc v0.0.0-20190911050354-e029b79d8cda/go.mod h1:IV7qH3hrUgRmyYrtgEeGWJfWbgcHL9CSRruz2Vqcph0= +github.com/containerd/go-runc v0.0.0-20200220073739-7016d3ce2328/go.mod h1:PpyHrqVs8FTi9vpyHwPwiNEGaACDxT/N/pLcvMSRA9g= +github.com/containerd/go-runc v0.0.0-20201020171139-16b287bc67d0/go.mod h1:cNU0ZbCgCQVZK4lgG3P+9tn9/PaJNmoDXPpoJhDR+Ok= +github.com/containerd/go-runc v1.0.0/go.mod h1:cNU0ZbCgCQVZK4lgG3P+9tn9/PaJNmoDXPpoJhDR+Ok= +github.com/containerd/imgcrypt v1.0.1/go.mod h1:mdd8cEPW7TPgNG4FpuP3sGBiQ7Yi/zak9TYCG3juvb0= +github.com/containerd/imgcrypt v1.0.4-0.20210301171431-0ae5c75f59ba/go.mod h1:6TNsg0ctmizkrOgXRNQjAPFWpMYRWuiB6dSF4Pfa5SA= +github.com/containerd/imgcrypt v1.1.1-0.20210312161619-7ed62a527887/go.mod h1:5AZJNI6sLHJljKuI9IHnw1pWqo/F0nGDOuR9zgTs7ow= +github.com/containerd/imgcrypt v1.1.1/go.mod h1:xpLnwiQmEUJPvQoAapeb2SNCxz7Xr6PJrXQb0Dpc4ms= +github.com/containerd/imgcrypt v1.1.3/go.mod h1:/TPA1GIDXMzbj01yd8pIbQiLdQxed5ue1wb8bP7PQu4= +github.com/containerd/nri v0.0.0-20201007170849-eb1350a75164/go.mod h1:+2wGSDGFYfE5+So4M5syatU0N0f0LbWpuqyMi4/BE8c= +github.com/containerd/nri v0.0.0-20210316161719-dbaa18c31c14/go.mod h1:lmxnXF6oMkbqs39FiCt1s0R2HSMhcLel9vNL3m4AaeY= +github.com/containerd/nri v0.1.0/go.mod h1:lmxnXF6oMkbqs39FiCt1s0R2HSMhcLel9vNL3m4AaeY= +github.com/containerd/stargz-snapshotter/estargz v0.4.1/go.mod h1:x7Q9dg9QYb4+ELgxmo4gBUeJB0tl5dqH1Sdz0nJU1QM= github.com/containerd/ttrpc v0.0.0-20190828154514-0e0f228740de/go.mod h1:PvCDdDGpgqzQIzDW1TphrGLssLDZp2GuS+X5DkEJB8o= +github.com/containerd/ttrpc v0.0.0-20190828172938-92c8520ef9f8/go.mod h1:PvCDdDGpgqzQIzDW1TphrGLssLDZp2GuS+X5DkEJB8o= +github.com/containerd/ttrpc v0.0.0-20191028202541-4f1b8fe65a5c/go.mod h1:LPm1u0xBw8r8NOKoOdNMeVHSawSsltak+Ihv+etqsE8= +github.com/containerd/ttrpc v1.0.1/go.mod h1:UAxOpgT9ziI0gJrmKvgcZivgxOp8iFPSk8httJEt98Y= +github.com/containerd/ttrpc v1.0.2/go.mod h1:UAxOpgT9ziI0gJrmKvgcZivgxOp8iFPSk8httJEt98Y= +github.com/containerd/ttrpc v1.1.0/go.mod h1:XX4ZTnoOId4HklF4edwc4DcqskFZuvXB1Evzy5KFQpQ= github.com/containerd/typeurl v0.0.0-20180627222232-a93fcdb778cd/go.mod h1:Cm3kwCdlkCfMSHURc+r6fwoGH6/F1hH3S4sg0rLFWPc= +github.com/containerd/typeurl v0.0.0-20190911142611-5eb25027c9fd/go.mod h1:GeKYzf2pQcqv7tJ0AoCuuhtnqhva5LNU3U+OyKxxJpk= +github.com/containerd/typeurl v1.0.1/go.mod h1:TB1hUtrpaiO88KEK56ijojHS1+NeF0izUACaJW2mdXg= +github.com/containerd/typeurl v1.0.2/go.mod h1:9trJWW2sRlGub4wZJRTW83VtbOLS6hwcDZXTn6oPz9s= +github.com/containerd/zfs v0.0.0-20200918131355-0a33824f23a2/go.mod h1:8IgZOBdv8fAgXddBT4dBXJPtxyRsejFIpXoklgxgEjw= +github.com/containerd/zfs v0.0.0-20210301145711-11e8f1707f62/go.mod h1:A9zfAbMlQwE+/is6hi0Xw8ktpL+6glmqZYtevJgaB8Y= +github.com/containerd/zfs v0.0.0-20210315114300-dde8f0fda960/go.mod h1:m+m51S1DvAP6r3FcmYCp54bQ34pyOwTieQDNRIRHsFY= +github.com/containerd/zfs v0.0.0-20210324211415-d5c4544f0433/go.mod h1:m+m51S1DvAP6r3FcmYCp54bQ34pyOwTieQDNRIRHsFY= +github.com/containerd/zfs v1.0.0/go.mod h1:m+m51S1DvAP6r3FcmYCp54bQ34pyOwTieQDNRIRHsFY= +github.com/containernetworking/cni v0.7.1/go.mod h1:LGwApLUm2FpoOfxTDEeq8T9ipbpZ61X79hmU3w8FmsY= +github.com/containernetworking/cni v0.8.0/go.mod h1:LGwApLUm2FpoOfxTDEeq8T9ipbpZ61X79hmU3w8FmsY= +github.com/containernetworking/cni v0.8.1/go.mod h1:LGwApLUm2FpoOfxTDEeq8T9ipbpZ61X79hmU3w8FmsY= +github.com/containernetworking/cni v1.0.1/go.mod h1:AKuhXbN5EzmD4yTNtfSsX3tPcmtrBI6QcRV0NiNt15Y= +github.com/containernetworking/plugins v0.8.6/go.mod h1:qnw5mN19D8fIwkqW7oHHYDHVlzhJpcY6TQxn/fUyDDM= +github.com/containernetworking/plugins v0.9.1/go.mod h1:xP/idU2ldlzN6m4p5LmGiwRDjeJr6FLK6vuiUwoH7P8= +github.com/containernetworking/plugins v1.0.1/go.mod h1:QHCfGpaTwYTbbH+nZXKVTxNBDZcxSOplJT5ico8/FLE= +github.com/containers/ocicrypt v1.0.1/go.mod h1:MeJDzk1RJHv89LjsH0Sp5KTY3ZYkjXO/C+bKAeWFIrc= +github.com/containers/ocicrypt v1.1.0/go.mod h1:b8AOe0YR67uU8OqfVNcznfFpAzu3rdgUV4GP9qXPfu4= +github.com/containers/ocicrypt v1.1.1/go.mod h1:Dm55fwWm1YZAjYRaJ94z2mfZikIyIN4B0oB3dj3jFxY= +github.com/containers/ocicrypt v1.1.2/go.mod h1:Dm55fwWm1YZAjYRaJ94z2mfZikIyIN4B0oB3dj3jFxY= +github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk= +github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= +github.com/coreos/etcd v3.3.13+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= +github.com/coreos/go-iptables v0.4.5/go.mod h1:/mVI274lEDI2ns62jHCDnCyBF9Iwsmekav8Dbxlm1MU= +github.com/coreos/go-iptables v0.5.0/go.mod h1:/mVI274lEDI2ns62jHCDnCyBF9Iwsmekav8Dbxlm1MU= +github.com/coreos/go-iptables v0.6.0/go.mod h1:Qe8Bv2Xik5FyTXwgIbLAnv2sWSBmvWdFETJConOQ//Q= +github.com/coreos/go-oidc v2.1.0+incompatible/go.mod h1:CgnwVTmzoESiwO9qyAFEMiHoZ1nMCKZlZ9V6mm3/LKc= +github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= +github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= +github.com/coreos/go-systemd v0.0.0-20161114122254-48702e0da86b/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= +github.com/coreos/go-systemd v0.0.0-20180511133405-39ca1b05acc7/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= +github.com/coreos/go-systemd/v22 v22.0.0/go.mod h1:xO0FLkIi5MaZafQlIrOotqXZ90ih+1atmu1JpKERPPk= +github.com/coreos/go-systemd/v22 v22.1.0/go.mod h1:xO0FLkIi5MaZafQlIrOotqXZ90ih+1atmu1JpKERPPk= github.com/coreos/go-systemd/v22 v22.3.2/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= +github.com/coreos/pkg v0.0.0-20160727233714-3ac0863d7acf/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= +github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= +github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= +github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= github.com/cpuguy83/go-md2man/v2 v2.0.1/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= +github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/creack/pty v1.1.11/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/creack/pty v1.1.17 h1:QeVUsEDNrLBW4tMgZHvxy18sKtr6VI492kBhUfhDJNI= +github.com/cyphar/filepath-securejoin v0.2.2/go.mod h1:FpkQEhXnPnOthhzymB7CGsFk2G9VLXONKD9G7QGMM+4= +github.com/cyphar/filepath-securejoin v0.2.3/go.mod h1:aPGpWjXOXUn2NCNjFvBE6aRxGGx79pTxQpKOJNYHHl4= +github.com/d2g/dhcp4 v0.0.0-20170904100407-a1d1b6c41b1c/go.mod h1:Ct2BUK8SB0YC1SMSibvLzxjeJLnrYEVLULFNiHY9YfQ= +github.com/d2g/dhcp4client v1.0.0/go.mod h1:j0hNfjhrt2SxUOw55nL0ATM/z4Yt3t2Kd1mW34z5W5s= +github.com/d2g/dhcp4server v0.0.0-20181031114812-7d4a0a7f59a5/go.mod h1:Eo87+Kg/IX2hfWJfwxMzLyuSZyxSoAug2nGa1G2QAi8= +github.com/d2g/hardwareaddr v0.0.0-20190221164911-e7d9fbe030e4/go.mod h1:bMl4RjIciD2oAxI7DmWRx6gbeqrkoLqv3MV0vzNad+I= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/denisenkom/go-mssqldb v0.9.0/go.mod h1:xbL0rPBG9cCiLr28tMa8zpbdarY27NDyej4t/EjAShU= +github.com/denverdino/aliyungo v0.0.0-20190125010748-a747050bb1ba/go.mod h1:dV8lFg6daOBZbT6/BDGIz6Y3WFGn8juu6G+CQ6LHtl0= github.com/devigned/tab v0.1.1/go.mod h1:XG9mPq0dFghrYvoBF3xdRrJzSTX1b7IQrvaL9mzjeJY= +github.com/dgrijalva/jwt-go v0.0.0-20170104182250-a601269ab70c/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= +github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no= github.com/dimchansky/utfbom v1.1.0/go.mod h1:rO41eb7gLfo8SF1jd9F8HplJm1Fewwi4mQvIirEdv+8= github.com/dimchansky/utfbom v1.1.1 h1:vV6w1AhK4VMnhBno/TPVCoK9U/LP0PkLCS9tbxHdi/U= github.com/dimchansky/utfbom v1.1.1/go.mod h1:SxdoEBH5qIqFocHMyGOXVAybYJdr71b1Q/j0mACtrfE= github.com/djherbis/times v1.5.0 h1:79myA211VwPhFTqUk8xehWrsEO+zcIZj0zT8mXPVARU= github.com/djherbis/times v1.5.0/go.mod h1:5q7FDLvbNg1L/KaBmPcWlVR9NmoKo3+ucqUA3ijQhA0= +github.com/dnaeon/go-vcr v1.0.1/go.mod h1:aBB1+wY4s93YsC3HHjMBMrwTj2R9FHDzUr9KyGc8n1E= +github.com/dnephin/pflag v1.0.7/go.mod h1:uxE91IoWURlOiTUIA8Mq5ZZkAv3dPUfZNaT80Zm7OQE= +github.com/docker/cli v0.0.0-20191017083524-a8ff7f821017/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= +github.com/docker/distribution v0.0.0-20190905152932-14b96e55d84c/go.mod h1:0+TTO4EOBfRPhZXAeF1Vu+W3hHZ8eLp8PgKVZlcvtFY= +github.com/docker/distribution v2.7.1-0.20190205005809-0d3efadf0154+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= github.com/docker/distribution v2.7.1+incompatible h1:a5mlkVzth6W5A4fOsS3D2EO5BUmsJpcB+cRlLU7cSug= github.com/docker/distribution v2.7.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= +github.com/docker/docker v1.4.2-0.20190924003213-a8608b5b67c7/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= github.com/docker/docker v1.4.2-0.20200319182547-c7ad2b866182/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= github.com/docker/docker v20.10.11+incompatible h1:OqzI/g/W54LczvhnccGqniFoQghHx3pklbLuhfXpqGo= +github.com/docker/docker v20.10.11+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= +github.com/docker/docker-credential-helpers v0.6.3/go.mod h1:WRaJzqw3CTB9bk10avuGsjVBZsD05qeibJ1/TYlvc0Y= github.com/docker/go-connections v0.4.0 h1:El9xVISelRB7BuFusrZozjnkIM5YnzCViNKohAFqRJQ= github.com/docker/go-connections v0.4.0/go.mod h1:Gbd7IOopHjR8Iph03tsViu4nIes5XhDvyHbTtUxmeec= +github.com/docker/go-events v0.0.0-20170721190031-9461782956ad/go.mod h1:Uw6UezgYA44ePAFQYUehOuCzmy5zmg/+nl2ZfMWGkpA= +github.com/docker/go-events v0.0.0-20190806004212-e31b211e4f1c/go.mod h1:Uw6UezgYA44ePAFQYUehOuCzmy5zmg/+nl2ZfMWGkpA= +github.com/docker/go-metrics v0.0.0-20180209012529-399ea8c73916/go.mod h1:/u0gXw0Gay3ceNrsHubL3BtdOL2fHf93USgMTe0W5dI= +github.com/docker/go-metrics v0.0.1/go.mod h1:cG1hvH2utMXtqgqqYE9plW6lDxS3/5ayHzueweSI3Vw= github.com/docker/go-units v0.4.0 h1:3uh0PgVws3nIA0Q+MwDC8yjEPf9zjRfZZWXZYDct3Tw= github.com/docker/go-units v0.4.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= +github.com/docker/libtrust v0.0.0-20150114040149-fa567046d9b1/go.mod h1:cyGadeNEkKy96OOhEzfZl+yxihPEzKnqJwvfuSUqbZE= +github.com/docker/spdystream v0.0.0-20160310174837-449fdfce4d96/go.mod h1:Qh8CwZgvJUkLughtfhJv5dyTYa91l1fOUCrgjqmcifM= +github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3ebgob9U8Nd0kOddGdZWjyMGR8Wziv+TBNwSE= github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= github.com/dustin/go-humanize v1.0.0 h1:VSnTsYCnlFHaM2/igO1h6X3HA71jcobQuxemgkq4zYo= github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= github.com/edsrzf/mmap-go v1.1.0 h1:6EUwBLQ/Mcr1EYLE4Tn1VdW1A4ckqCQWZBw8Hr0kjpQ= github.com/edsrzf/mmap-go v1.1.0/go.mod h1:19H/e8pUPLicwkyNgOykDXkJ9F0MHE+Z52B8EIth78Q= +github.com/elazarl/goproxy v0.0.0-20180725130230-947c36da3153/go.mod h1:/Zj4wYkgs4iZTTu3o/KG3Itv/qCCa8VVMlb3i9OVuzc= +github.com/emicklei/go-restful v0.0.0-20170410110728-ff4f55a20633/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= +github.com/emicklei/go-restful v2.9.5+incompatible/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= github.com/emirpasic/gods v1.12.0 h1:QAUIPSaCu4G+POclxeqb3F+WPpdKqFGlw36+yOzGlrg= github.com/emirpasic/gods v1.12.0/go.mod h1:YfzfFFoVP/catgzJb4IKIqXjX78Ha8FMSDh3ymbK86o= github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= @@ -325,20 +534,31 @@ github.com/envoyproxy/go-control-plane v0.10.2-0.20220325020618-49ff273808a1/go. github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= github.com/ettle/strcase v0.1.1 h1:htFueZyVeE1XNnMEfbqp5r67qAN/4r6ya1ysq8Q+Zcw= github.com/ettle/strcase v0.1.1/go.mod h1:hzDLsPC7/lwKyBOywSHEP89nt2pDgdy+No1NBA9o9VY= +github.com/evanphx/json-patch v4.9.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= +github.com/evanphx/json-patch v4.11.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= github.com/fatih/color v1.9.0/go.mod h1:eQcE1qtQxscV5RaZvpXrrb8Drkc3/DdQ+uUYCNjL+zU= +github.com/fatih/color v1.10.0/go.mod h1:ELkj/draVOlAH/xkhN6mQ50Qd0MPOk5AAr3maGEBuJM= github.com/fatih/color v1.13.0 h1:8LOYc1KYPPmyKMuN8QV2DNRWNbLo6LZ0iLs8+mlH53w= github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk= github.com/fatih/structs v1.1.0/go.mod h1:9NiDSp5zOcgEDl+j00MP/WkGVPOlPRLejGD8Ga6PJ7M= +github.com/felixge/httpsnoop v1.0.1/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568/go.mod h1:xEzjJPgXI435gkrCt3MPfRiAkVrwSbHsst4LCFVfpJc= github.com/form3tech-oss/jwt-go v3.2.2+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k= +github.com/form3tech-oss/jwt-go v3.2.3+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k= github.com/fortytw2/leaktest v1.3.0/go.mod h1:jDsjWgpAGjm2CA7WthBh/CdZYEPF31XHquHwclZch5g= -github.com/frankban/quicktest v1.10.0 h1:Gfh+GAJZOAoKZsIZeZbdn2JF10kN1XHNvjsvQK8gVkE= github.com/frankban/quicktest v1.10.0/go.mod h1:ui7WezCLWMWxVWr1GETZY3smRy0G4KWq9vcPtJmFl7Y= +github.com/frankban/quicktest v1.11.3 h1:8sXhOn0uLys67V8EsXLc6eszDs8VXWxL3iRvebPhedY= +github.com/frankban/quicktest v1.11.3/go.mod h1:wRf/ReqHper53s+kmmSZizM8NamnL3IM0I9ntUbOk+k= github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= +github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= github.com/fsnotify/fsnotify v1.5.1/go.mod h1:T3375wBYaZdLLcVNkcVbzGHY7f1l/uK5T5Ai1i3InKU= +github.com/fullsailor/pkcs7 v0.0.0-20190404230743-d7302db945fa/go.mod h1:KnogPXtdwXqoenmZCw6S+25EAm2MkxbG0deNDu4cbSA= +github.com/garyburd/redigo v0.0.0-20150301180006-535138d7bcd7/go.mod h1:NR3MbYisc3/PwhQ00EMzDiPmrwpPxAn5GI05/YaO1SY= github.com/gedex/inflector v0.0.0-20170307190818-16278e9db813 h1:Uc+IZ7gYqAf/rSGFplbWBSHaGolEQlNLgMgSE3ccnIQ= github.com/gedex/inflector v0.0.0-20170307190818-16278e9db813/go.mod h1:P+oSoE9yhSRvsmYyZsshflcR6ePWYLql6UU1amW13IM= +github.com/getsentry/raven-go v0.2.0/go.mod h1:KungGk8q33+aIAZUIVWZDr2OfAEBsO49PX4NzFV5kcQ= +github.com/ghodss/yaml v0.0.0-20150909031657-73d445a93680/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI= github.com/gin-gonic/gin v1.6.3/go.mod h1:75u5sXoLsGZoRN5Sgbi1eraJ4GU3++wFwWzhwvtwp4M= @@ -360,17 +580,45 @@ github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2 github.com/go-ini/ini v1.25.4/go.mod h1:ByCAeIL28uOIIG0E3PJtZPDL8WnHpFKFOtgjp+3Ies8= github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= +github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vbaY= github.com/go-ldap/ldap/v3 v3.1.3/go.mod h1:3rbOH3jRS2u6jg2rJnKAMLE/xQyCKIveG2Sa/Cohzb8= github.com/go-ldap/ldap/v3 v3.1.10/go.mod h1:5Zun81jBTabRaI8lzN7E1JjyEl1g6zI6u9pd8luAK4Q= github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= +github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A= +github.com/go-logr/logr v0.1.0/go.mod h1:ixOQHD9gLJUVQQ2ZOR7zLEifBX6tGkNJF4QyIY7sIas= +github.com/go-logr/logr v0.2.0/go.mod h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTgseGU= +github.com/go-logr/logr v0.4.0/go.mod h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTgseGU= +github.com/go-logr/logr v1.2.0/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= +github.com/go-logr/logr v1.2.1/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= +github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= +github.com/go-logr/stdr v1.2.0/go.mod h1:YkVgnZu1ZjjL7xTxrfm/LLZBfkhTqSR1ydtm6jTKKwI= +github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= +github.com/go-openapi/jsonpointer v0.0.0-20160704185906-46af16f9f7b1/go.mod h1:+35s3my2LFTysnkMfxsJBAMHj/DoqoB9knIWoYG/Vk0= +github.com/go-openapi/jsonpointer v0.19.2/go.mod h1:3akKfEdA7DF1sugOqz1dVQHBcuDBPKZGEoHC/NkiQRg= +github.com/go-openapi/jsonpointer v0.19.3/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= +github.com/go-openapi/jsonpointer v0.19.5/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= +github.com/go-openapi/jsonreference v0.0.0-20160704190145-13c6e3589ad9/go.mod h1:W3Z9FmVs9qj+KR4zFKmDPGiLdk1D9Rlm7cyMvf57TTg= +github.com/go-openapi/jsonreference v0.19.2/go.mod h1:jMjeRr2HHw6nAVajTXJ4eiUwohSTlpa0o73RUL1owJc= +github.com/go-openapi/jsonreference v0.19.3/go.mod h1:rjx6GuL8TTa9VaixXglHmQmIL98+wF9xc8zWvFonSJ8= +github.com/go-openapi/jsonreference v0.19.5/go.mod h1:RdybgQwPxbL4UEjuAruzK1x3nE69AqPYEJeo/TWfEeg= +github.com/go-openapi/spec v0.0.0-20160808142527-6aced65f8501/go.mod h1:J8+jY1nAiCcj+friV/PDoE1/3eeccG9LYBs0tYvLOWc= +github.com/go-openapi/spec v0.19.3/go.mod h1:FpwSN1ksY1eteniUU7X0N/BgJ7a4WvBFVA8Lj9mJglo= +github.com/go-openapi/swag v0.0.0-20160704191624-1d0bd113de87/go.mod h1:DXUve3Dpr1UfpPtxFw+EFuQ41HhCWZfha5jSVRG7C7I= +github.com/go-openapi/swag v0.19.2/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= +github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= +github.com/go-openapi/swag v0.19.14/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ= github.com/go-playground/assert/v2 v2.0.1/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= github.com/go-playground/locales v0.13.0/go.mod h1:taPMhCMXrRLJO55olJkUXHZBHCxTMfnGwq/HNwmWNS8= github.com/go-playground/universal-translator v0.17.0/go.mod h1:UkSxE5sNxxRwHyU+Scu5vgOQjsIJAF8j9muTVoKLVtA= github.com/go-playground/validator/v10 v10.2.0/go.mod h1:uOYAAleCW8F/7oMFd6aG0GOhaH6EGOAJShg8Id5JGkI= +github.com/go-redis/redis v6.15.9+incompatible h1:K0pv1D7EQUjfyoMql+r/jZqCLizCGKFlFgcHWWmHQjg= +github.com/go-redis/redis v6.15.9+incompatible/go.mod h1:NAIEuMOZ/fxfXJIrKDQDz8wamY7mA7PouImQ2Jvg6kA= github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= +github.com/go-sql-driver/mysql v1.6.0 h1:BCTh4TKNUYmOmMUcQ3IipzF5prigylS7XXjEkfCHuOE= github.com/go-sql-driver/mysql v1.6.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= +github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg7847qk6SyHyPtNmDHnmrv/HOrqktSC+C9fM+CJOE= github.com/go-test/deep v1.0.2-0.20181118220953-042da051cf31/go.mod h1:wGDj63lr65AM2AQyKZd/NYHGb0R+1RLqB8NKt3aSFNA= github.com/go-test/deep v1.0.2/go.mod h1:wGDj63lr65AM2AQyKZd/NYHGb0R+1RLqB8NKt3aSFNA= github.com/go-test/deep v1.0.3 h1:ZrJSEWsXzPOxaZnFteGEfooLba+ju3FYIbOrS+rQd68= @@ -378,12 +626,20 @@ github.com/go-test/deep v1.0.3/go.mod h1:wGDj63lr65AM2AQyKZd/NYHGb0R+1RLqB8NKt3a github.com/gobwas/httphead v0.0.0-20180130184737-2c6c146eadee/go.mod h1:L0fX3K22YWvt/FAX9NnzrNzcI4wNYi9Yku4O0LKYflo= github.com/gobwas/pool v0.2.0/go.mod h1:q8bcK0KcYlCgd9e7WYLm9LpyS+YeLd8JVDW6WezmKEw= github.com/gobwas/ws v1.0.2/go.mod h1:szmBTxLgaFppYjEmNtny/v3w89xOydFnnZMcgRRu/EM= +github.com/godbus/dbus v0.0.0-20151105175453-c7fdd8b5cd55/go.mod h1:/YcGZj5zSblfDWMMoOzV4fas9FZnQYTkDnsGvmh2Grw= +github.com/godbus/dbus v0.0.0-20180201030542-885f9cc04c9c/go.mod h1:/YcGZj5zSblfDWMMoOzV4fas9FZnQYTkDnsGvmh2Grw= github.com/godbus/dbus v0.0.0-20190422162347-ade71ed3457e/go.mod h1:bBOAhwG1umN6/6ZUMtDFBMQR8jRg9O75tm9K00oMsK4= +github.com/godbus/dbus/v5 v5.0.3/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= +github.com/godbus/dbus/v5 v5.0.6/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= github.com/gofrs/uuid v4.2.0+incompatible h1:yyYWMnhkhrKwwr8gAOcOCYxOOscHgDS9yZgBrnJfGa0= github.com/gofrs/uuid v4.2.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= +github.com/gogo/googleapis v1.2.0/go.mod h1:Njal3psf3qN6dwBtQfUmBZh2ybovJ0tlu3o/AC7HYjU= +github.com/gogo/googleapis v1.4.0/go.mod h1:5YRNX2z1oM5gXdAkurHa942MDgEJyk02w4OecKY87+c= github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4= +github.com/gogo/protobuf v1.2.2-0.20190723190241-65acae22fc9d/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o= +github.com/gogo/protobuf v1.3.0/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o= github.com/gogo/protobuf v1.3.1/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= @@ -393,6 +649,8 @@ github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe/go.mod h1:8vg3r2V github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= github.com/golang/glog v1.0.0 h1:nfP3RFugxnNRyKgeWd4oI1nYvXpxrx8ck8ZrcizshdQ= github.com/golang/glog v1.0.0/go.mod h1:EWib/APOK0SL3dFbYqvxE3UYd8E6s1ouQ7iEp/0LWV4= +github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= @@ -432,6 +690,7 @@ github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM= github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= +github.com/google/btree v1.0.1/go.mod h1:xXMiIv4Fb/0kKde4SpL7qlzvu5cMJDRkFDxJfI9uaxA= github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= @@ -447,6 +706,7 @@ github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/ github.com/google/go-cmp v0.5.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8/DtOE= github.com/google/go-cmp v0.5.8 h1:e6P7q2lk1O+qJJb4BtCQXlK8vWEO8V1ZeuEdJNOqZyg= github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +github.com/google/go-containerregistry v0.5.1/go.mod h1:Ct15B4yir3PLOP5jsy0GNeYVaIZs/MK/Jz5any1wFW0= github.com/google/go-querystring v1.1.0 h1:AnCroh3fv4ZBgVIf1Iwtovgjaw/GiKJo8M8yD/fhyJ8= github.com/google/go-querystring v1.1.0/go.mod h1:Kcdr2DB4koayq7X8pmAG4sNG59So17icRSOU623lUBU= github.com/google/go-replayers/grpcreplay v1.1.0 h1:S5+I3zYyZ+GQz68OfbURDdt/+cSMqCK1wrvNx7WBzTE= @@ -454,6 +714,8 @@ github.com/google/go-replayers/grpcreplay v1.1.0/go.mod h1:qzAvJ8/wi57zq7gWqaE6A github.com/google/go-replayers/httpreplay v1.0.0 h1:8SmT8fUYM4nueF+UnXIX8LJxNTb1vpPuknXz+yTWzL4= github.com/google/go-replayers/httpreplay v1.0.0/go.mod h1:LJhKoTwS5Wy5Ld/peq8dFFG5OfJyHEz7ft+DsTUv25M= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/google/gofuzz v1.1.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= github.com/google/martian v2.1.1-0.20190517191504-25dcb96d9e51+incompatible h1:xmapqc1AyLoB+ddYT6r04bD9lIjlOqGaREovi0SzFaE= github.com/google/martian v2.1.1-0.20190517191504-25dcb96d9e51+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= @@ -482,6 +744,7 @@ github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm4 github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 h1:El6M4kTTCOh6aBiKaUGG7oYTSPP8MxqL4YI3kZKwcP4= github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510/go.mod h1:pupxD2MaaD3pAXIBCelhxNneeOaAeabZDe5s4K6zSpQ= github.com/google/subcommands v1.0.1/go.mod h1:ZjhPrFU+Olkh9WazFPsl27BQ4UPiG37m3yTrtFlrHVk= +github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.2.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= @@ -495,15 +758,35 @@ github.com/googleapis/gax-go/v2 v2.1.0/go.mod h1:Q3nei7sK6ybPYH7twZdmQpAd1MKb7pf github.com/googleapis/gax-go/v2 v2.1.1/go.mod h1:hddJymUZASv3XPyGkUpKj8pPO47Rmb0eJc8R6ouapiM= github.com/googleapis/gax-go/v2 v2.2.0 h1:s7jOdKSaksJVOxE0Y/S32otcfiP+UQ0cL8/GTKaONwE= github.com/googleapis/gax-go/v2 v2.2.0/go.mod h1:as02EH8zWkzwUoLbBaFeQ+arQaj/OthfcblKl4IGNaM= +github.com/googleapis/gnostic v0.4.1/go.mod h1:LRhVm6pbyptWbWbuZ38d1eyptfvIytN3ir6b65WBswg= +github.com/googleapis/gnostic v0.5.1/go.mod h1:6U4PtQXGIEt/Z3h5MAT7FNofLnw9vXk2cUuW7uA/OeU= +github.com/googleapis/gnostic v0.5.5/go.mod h1:7+EbHbldMins07ALC74bsA81Ovc97DwqyJO1AENw9kA= github.com/googleapis/go-type-adapters v1.0.0 h1:9XdMn+d/G57qq1s8dNc5IesGCXHf6V2HZ2JwRxfA2tA= github.com/googleapis/go-type-adapters v1.0.0/go.mod h1:zHW75FOG2aur7gAO2B+MLby+cLsWGBF62rFAi7WjWO4= +github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= +github.com/gorilla/handlers v0.0.0-20150720190736-60c7bfde3e33/go.mod h1:Qkdc/uu4tH4g6mTK6auzZ766c4CA0Ng8+o/OAirnOIQ= +github.com/gorilla/mux v1.7.2/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= +github.com/gorilla/mux v1.7.3/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= github.com/gorilla/mux v1.7.4/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= github.com/gorilla/mux v1.8.0 h1:i40aqfkR1h2SlN9hojwV5ZA91wcXFOvkdNIeFDP5koI= github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= +github.com/gorilla/websocket v0.0.0-20170926233335-4201258b820c/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= +github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= github.com/gorilla/websocket v1.4.1/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= +github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= +github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA= +github.com/grpc-ecosystem/go-grpc-middleware v1.0.0/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= +github.com/grpc-ecosystem/go-grpc-middleware v1.0.1-0.20190118093823-f849b5445de4/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= +github.com/grpc-ecosystem/go-grpc-middleware v1.3.0/go.mod h1:z0ButlSOZa5vEBq9m2m2hlwIgKw+rp3sdCBRoJY+30Y= +github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk= +github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= +github.com/grpc-ecosystem/grpc-gateway v1.9.5/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645 h1:MJG/KsmcqMwFAkh8mTnAwhyKoB+sTAnY4CACC110tbU= github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645/go.mod h1:6iZfnjpejD4L/4DwD7NryNaJyCQdzwWwH2MWhCA90Kw= +github.com/hashicorp/consul/api v1.1.0/go.mod h1:VmuI/Lkw1nC05EYQWNKwWGbkg+FbDBtguAZLlVdkD9Q= +github.com/hashicorp/consul/sdk v0.1.1/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8= +github.com/hashicorp/errwrap v0.0.0-20141028054710-7554cd9344ce/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY2I= github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= @@ -528,6 +811,8 @@ github.com/hashicorp/go-hclog v1.2.1/go.mod h1:W4Qnvbt70Wk/zYJryRzDRU/4r0kIg0PVH github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= github.com/hashicorp/go-immutable-radix v1.1.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= github.com/hashicorp/go-kms-wrapping/entropy v0.1.0/go.mod h1:d1g9WGtAunDNpek8jUIEJnBlbgKS1N2Q61QkHiZyR1g= +github.com/hashicorp/go-msgpack v0.5.3/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM= +github.com/hashicorp/go-multierror v0.0.0-20161216184304-ed905158d874/go.mod h1:JMRHfdO9jKNzS/+BTlxCjKNQHg/jZAft8U7LloJvN7I= github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk= github.com/hashicorp/go-multierror v1.1.0/go.mod h1:spPvp8C1qA32ftKqdAHm4hHTbPw+vmowP0z+KUhOZdA= github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo= @@ -540,13 +825,16 @@ github.com/hashicorp/go-retryablehttp v0.6.2/go.mod h1:gEx6HMUGxYYhJScX7W1Il64m6 github.com/hashicorp/go-retryablehttp v0.6.6/go.mod h1:vAew36LZh98gCBJNLH42IQ1ER/9wtLZZ8meHqQvEYWY= github.com/hashicorp/go-retryablehttp v0.7.0 h1:eu1EI/mbirUgP5C8hVsTNaGZreBDlYiwC1FZWkvQPQ4= github.com/hashicorp/go-retryablehttp v0.7.0/go.mod h1:vAew36LZh98gCBJNLH42IQ1ER/9wtLZZ8meHqQvEYWY= +github.com/hashicorp/go-rootcerts v1.0.0/go.mod h1:K6zTfqpRlCUIjkwsN4Z+hiSfzSTQa6eBIzfwKfwNnHU= github.com/hashicorp/go-rootcerts v1.0.1/go.mod h1:pqUvnprVnM5bf7AOirdbb01K4ccR319Vf4pU3K5EGc8= github.com/hashicorp/go-rootcerts v1.0.2 h1:jzhAVGtqPKbwpyCPELlgNWhE1znq+qwJtW5Oi2viEzc= github.com/hashicorp/go-rootcerts v1.0.2/go.mod h1:pqUvnprVnM5bf7AOirdbb01K4ccR319Vf4pU3K5EGc8= github.com/hashicorp/go-safetemp v1.0.0 h1:2HR189eFNrjHQyENnQMMpCiBAsRxzbTMIgBhEyExpmo= github.com/hashicorp/go-safetemp v1.0.0/go.mod h1:oaerMy3BhqiTbVye6QuFhFtIceqFoDHxNAB65b+Rj1I= +github.com/hashicorp/go-sockaddr v1.0.0/go.mod h1:7Xibr9yA9JjQq1JpNB2Vw7kxv8xerXegt+ozgdvDeDU= github.com/hashicorp/go-sockaddr v1.0.2 h1:ztczhD1jLxIRjVejw8gFomI1BQZOe2WoVOu0SyteCQc= github.com/hashicorp/go-sockaddr v1.0.2/go.mod h1:rB4wwRAUzs07qva3c5SdrY/NEtAUjGlgmH/UkBUC97A= +github.com/hashicorp/go-syslog v1.0.0/go.mod h1:qPfqrKkXGihmCqbJM2mZgkZGvKG1dFdvsLplgctolz4= github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= github.com/hashicorp/go-uuid v1.0.1/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= github.com/hashicorp/go-uuid v1.0.2/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= @@ -557,6 +845,7 @@ github.com/hashicorp/go-version v1.2.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09 github.com/hashicorp/go-version v1.5.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= github.com/hashicorp/go-version v1.6.0 h1:feTTfFNnjP967rlCxM/I9g701jU+RN74YKx2mOkIeek= github.com/hashicorp/go-version v1.6.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= +github.com/hashicorp/go.net v0.0.1/go.mod h1:hjKkEWcCURg++eb33jQU7oqQcI9XDCnUzHA0oac0k90= github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/golang-lru v0.5.3/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= @@ -572,16 +861,19 @@ github.com/hashicorp/hil v0.0.0-20190212132231-97b3a9cdfa93 h1:T1Q6ag9tCwun16AW+ github.com/hashicorp/hil v0.0.0-20190212132231-97b3a9cdfa93/go.mod h1:n2TSygSNwsLJ76m8qFXTSc7beTb+auJxYdqrnoqwZWE= github.com/hashicorp/logutils v1.0.0 h1:dLEQVugN8vlakKOUE3ihGLTZJRB4j+M2cdTm/ORI65Y= github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64= +github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0mNTz8vQ= +github.com/hashicorp/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I= +github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc= github.com/hashicorp/terraform-config-inspect v0.0.0-20191115094559-17f92b0546e8/go.mod h1:p+ivJws3dpqbp1iP84+npOyAmTTOLMgCzrXd3GSdn/A= github.com/hashicorp/terraform-exec v0.17.2 h1:EU7i3Fh7vDUI9nNRdMATCEfnm9axzTnad8zszYZ73Go= github.com/hashicorp/terraform-exec v0.17.2/go.mod h1:tuIbsL2l4MlwwIZx9HPM+LOV9vVyEfBYu2GsO1uH3/8= github.com/hashicorp/terraform-json v0.4.0/go.mod h1:eAbqb4w0pSlRmdvl8fOyHAi/+8jnkVYN28gJkSJrLhU= github.com/hashicorp/terraform-json v0.14.0 h1:sh9iZ1Y8IFJLx+xQiKHGud6/TSUCM0N8e17dKDpqV7s= github.com/hashicorp/terraform-json v0.14.0/go.mod h1:5A9HIWPkk4e5aeeXIBbkcOvaZbIYnAIkEyqP2pNSckM= -github.com/hashicorp/terraform-plugin-go v0.12.0 h1:6wW9mT1dSs0Xq4LR6HXj1heQ5ovr5GxXNJwkErZzpJw= -github.com/hashicorp/terraform-plugin-go v0.12.0/go.mod h1:kwhmaWHNDvT1B3QiSJdAtrB/D4RaKSY/v3r2BuoWK4M= -github.com/hashicorp/terraform-plugin-log v0.6.0 h1:/Vq78uSIdUSZ3iqDc9PESKtwt8YqNKN6u+khD+lLjuw= -github.com/hashicorp/terraform-plugin-log v0.6.0/go.mod h1:p4R1jWBXRTvL4odmEkFfDdhUjHf9zcs/BCoNHAc7IK4= +github.com/hashicorp/terraform-plugin-go v0.14.0 h1:ttnSlS8bz3ZPYbMb84DpcPhY4F5DsQtcAS7cHo8uvP4= +github.com/hashicorp/terraform-plugin-go v0.14.0/go.mod h1:2nNCBeRLaenyQEi78xrGrs9hMbulveqG/zDMQSvVJTE= +github.com/hashicorp/terraform-plugin-log v0.7.0 h1:SDxJUyT8TwN4l5b5/VkiTIaQgY6R+Y2BQ0sRZftGKQs= +github.com/hashicorp/terraform-plugin-log v0.7.0/go.mod h1:p4R1jWBXRTvL4odmEkFfDdhUjHf9zcs/BCoNHAc7IK4= github.com/hashicorp/terraform-plugin-sdk v1.7.0/go.mod h1:OjgQmey5VxnPej/buEhe+YqKm0KNvV3QqU4hkqHqPCY= github.com/hashicorp/terraform-plugin-sdk v1.9.1 h1:AgHnd6yPCg7o57XWrv4L7tIMdF0KQpcZro1pDHF1Xbw= github.com/hashicorp/terraform-plugin-sdk v1.9.1/go.mod h1:C/AXwmDHqbc3h6URiHpIsVKrwV4PS0Sh0+VTaeEkShw= @@ -614,31 +906,48 @@ github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1: github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/ijc/Gotty v0.0.0-20170406111628-a8b993ba6abd h1:anPrsicrIi2ColgWTVPk+TrN42hJIWlfPHSBP9S0ZkM= github.com/ijc/Gotty v0.0.0-20170406111628-a8b993ba6abd/go.mod h1:3LVOLeyx9XVvwPgrt2be44XgSqndprz1G18rSk8KD84= +github.com/imdario/mergo v0.3.5/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= +github.com/imdario/mergo v0.3.8/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= +github.com/imdario/mergo v0.3.10/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= github.com/imdario/mergo v0.3.11/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= github.com/imdario/mergo v0.3.12 h1:b6R2BslTbIEToALKP7LxUvijTsNI9TAe80pLWN2g/HU= github.com/imdario/mergo v0.3.12/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= github.com/inconshreveable/mousetrap v1.0.0 h1:Z8tu5sraLXCXIcARxBp/8cbvlwVa7Z1NHg9XEKhtSvM= github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= +github.com/intel/goresctrl v0.2.0/go.mod h1:+CZdzouYFn5EsxgqAQTEzMfwKwuc0fVdMrT9FCCAVRQ= +github.com/j-keck/arping v0.0.0-20160618110441-2cf9dc699c56/go.mod h1:ymszkNOg6tORTn+6F6j+Jc8TOr5osrynvN6ivFWZ2GA= +github.com/j-keck/arping v1.0.2/go.mod h1:aJbELhR92bSk7tp79AWM/ftfc90EfEi2bQJrbBFOsPw= github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 h1:BQSFePA1RWJOlocH6Fxy8MmwDt+yVQYULKfN0RoTN8A= github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99/go.mod h1:1lJo3i6rXxKeerYnT8Nvf0QmHCRC1n8sfWVwXF2Frvo= github.com/jessevdk/go-flags v1.5.0/go.mod h1:Fw0T6WPc1dYxT4mKEZRfG5kJhaTDP9pj1c2EWnYs/m4= github.com/jhump/protoreflect v1.6.0 h1:h5jfMVslIg6l29nsMs0D8Wj17RDVdNYti0vDN/PZZoE= github.com/jhump/protoreflect v1.6.0/go.mod h1:eaTn3RZAmMBcV0fifFvlm6VHNz3wSkYyXYWUh7ymB74= github.com/jmespath/go-jmespath v0.0.0-20160202185014-0b12d6b521d8/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= +github.com/jmespath/go-jmespath v0.0.0-20160803190731-bd40a432e4c7/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= github.com/jmespath/go-jmespath v0.3.0/go.mod h1:9QtRXoHjLGCJ5IBSaohpXITPlowMeeYCZ7fLUTSywik= github.com/jmespath/go-jmespath v0.4.0 h1:BEgLn5cpjn8UN1mAw4NjwDrS35OdebyEtFe+9YPoQUg= github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo= github.com/jmespath/go-jmespath/internal/testify v1.5.1 h1:shLQSRRSCCPj3f2gpwzGwWFoC7ycTf1rcQZHOlsJ6N8= github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U= +github.com/joefitzgerald/rainbow-reporter v0.1.0/go.mod h1:481CNgqmVHQZzdIbN52CupLJyoVwB10FQ/IQlF1pdL8= github.com/joho/godotenv v1.3.0/go.mod h1:7hK45KPybAkOC6peb+G5yklZfMxEjkZhHbwpqxOKXbg= +github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= +github.com/jonboulle/clockwork v0.2.2/go.mod h1:Pkfl5aHPm1nk2H9h0bjmnJD/BcgbGXUBGnn1kMkgxc8= +github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= +github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4= github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= +github.com/json-iterator/go v1.1.7/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/json-iterator/go v1.1.9/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/json-iterator/go v1.1.11/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= +github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= +github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM= github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 h1:Z9n2FFNUXsshfwJMBgNA0RU6/i7WVaAegv3PtuIHPMs= github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51/go.mod h1:CzGEWj7cYgsdH8dAjBGEr58BoE7ScuLd+fwFZ44+/x8= github.com/kevinburke/ssh_config v0.0.0-20201106050909-4977a11b4351/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM= @@ -651,9 +960,13 @@ github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= github.com/klauspost/compress v1.10.3/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= github.com/klauspost/compress v1.11.2/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= +github.com/klauspost/compress v1.11.3/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= +github.com/klauspost/compress v1.11.13/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= github.com/klauspost/compress v1.13.5 h1:9O69jUPDcsT9fEm74W92rZL9FQY7rCdaXVneq+yyzl4= github.com/klauspost/compress v1.13.5/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk= github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= +github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= +github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg= github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= @@ -662,6 +975,7 @@ github.com/kr/pretty v0.2.1 h1:Fmg33tUaq4/8ym9TJN1x7sLJnHVwhP33CNkpYV/7rwI= github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/pty v1.1.4/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= +github.com/kr/pty v1.1.5/go.mod h1:9r2w37qlBe7rQ6e1fg1S/9xpWHSnaqNdHD3WcMdbPDA= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= @@ -670,7 +984,17 @@ github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0 github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= github.com/leodido/go-urn v1.2.0/go.mod h1:+8+nEpDfqqsY+g338gtMEUOtuK+4dEMhiQEgxpxOKII= github.com/lib/pq v1.10.2/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= +github.com/linuxkit/virtsock v0.0.0-20201010232012-f8cee7dfc7a3/go.mod h1:3r6x7q95whyfWQpmGZTu3gk3v2YkMi05HEzl7Tf7YEo= +github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= +github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= github.com/magiconair/properties v1.8.5 h1:b6kJs+EmPFMYGkow9GiUyCyOvIwYetYJ3fSaWak/Gls= +github.com/magiconair/properties v1.8.5/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60= +github.com/mailru/easyjson v0.0.0-20160728113105-d5b7844b561a/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= +github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= +github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= +github.com/mailru/easyjson v0.7.0/go.mod h1:KAzv3t3aY1NaHWoQz1+4F1ccyAH66Jk7yos7ldAVICs= +github.com/mailru/easyjson v0.7.6/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= +github.com/marstr/guid v1.1.0/go.mod h1:74gB1z2wpxxInTG6yaqA7KrtM0NZ+RbrcqDvYHefzho= github.com/matryer/is v1.2.0 h1:92UTHpy8CDwaJ08GqLDzhhuixiBUUD1p3AU6PHddz4A= github.com/matryer/is v1.2.0/go.mod h1:2fLPjFQM9rhQ15aVEtbuwhJinnOqrmgXPNdZsdwlWXA= github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= @@ -678,6 +1002,7 @@ github.com/mattn/go-colorable v0.1.1/go.mod h1:FuOcm+DKB9mbwrcAfNl7/TZVBZ6rcncea github.com/mattn/go-colorable v0.1.2/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= github.com/mattn/go-colorable v0.1.6/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= +github.com/mattn/go-colorable v0.1.8/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= github.com/mattn/go-colorable v0.1.9/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= github.com/mattn/go-colorable v0.1.12 h1:jF+Du6AlPIjs2BiUiQlKOX0rt3SujHxPnksPKZbaA40= github.com/mattn/go-colorable v0.1.12/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4= @@ -692,12 +1017,21 @@ github.com/mattn/go-isatty v0.0.11/go.mod h1:PhnuNfih5lzO57/f3n+odYbM4JtupLOxQOA github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= github.com/mattn/go-isatty v0.0.14 h1:yVuAays6BHfxijgZPzw+3Zlu5yQgKGP2/hcQbHb7S9Y= github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= +github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= github.com/mattn/go-runewidth v0.0.4/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= github.com/mattn/go-runewidth v0.0.13 h1:lTGmDsbAYt5DmK6OnoV7EuIF1wEIFAcxld6ypU4OSgU= github.com/mattn/go-runewidth v0.0.13/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= +github.com/mattn/go-shellwords v1.0.3/go.mod h1:3xCvwCdWdlDJUrvuMn7Wuy9eWs4pE8vqg+NOMyg4B2o= +github.com/mattn/go-shellwords v1.0.6/go.mod h1:3xCvwCdWdlDJUrvuMn7Wuy9eWs4pE8vqg+NOMyg4B2o= +github.com/mattn/go-shellwords v1.0.12/go.mod h1:EZzvwXDESEeg03EKmM+RmDnNOPKG4lLtQsUlTZDWQ8Y= github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= +github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= +github.com/maxbrunsfeld/counterfeiter/v6 v6.2.2/go.mod h1:eD9eIE7cdwcMi9rYluz88Jz2VyhSmden33/aXg4oVIY= github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b h1:j7+1HpAFS1zy5+Q4qx1fWh90gTKwiN4QCGoY9TWyyO4= github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b/go.mod h1:01TrycV0kFyexm33Z7vhZRXopbI8J3TDReVlkTgMUxE= +github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= +github.com/miekg/pkcs11 v1.0.3/go.mod h1:XsNlhZGX73bx86s2hdc/FuaLm2CPZJemRLMA+WTFxgs= +github.com/mistifyio/go-zfs v2.1.2-0.20190413222219-f784269be439+incompatible/go.mod h1:8AuVvqP/mXw1px98n46wfvcGfQ4ci2FwoAjKYxuo3Z4= github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc= github.com/mitchellh/cli v1.1.2 h1:PvH+lL2B7IQ101xQL63Of8yFS2y+aDlsFcsqNc+u/Kw= github.com/mitchellh/cli v1.1.2/go.mod h1:6iaV0fGdElS6dPBx0EApTxHrcWvmJphyh2n8YBLPPZ4= @@ -718,8 +1052,11 @@ github.com/mitchellh/go-wordwrap v0.0.0-20150314170334-ad45545899c7/go.mod h1:ZX github.com/mitchellh/go-wordwrap v1.0.0/go.mod h1:ZXFpozHsX6DPmq2I0TCekCxypsnAUbP2oI0UX1GXzOo= github.com/mitchellh/go-wordwrap v1.0.1 h1:TLuKupo69TCn6TQSyGxwI1EblZZEsQ0vMlAFQflz0v0= github.com/mitchellh/go-wordwrap v1.0.1/go.mod h1:R62XHJLzvMFRBbcrT7m7WgmE1eOyTSsCt+hzestvNj0= +github.com/mitchellh/gox v0.4.0/go.mod h1:Sd9lOJ0+aimLBi73mGofS1ycjY8lL3uZM3JPS42BGNg= github.com/mitchellh/hashstructure v1.0.0 h1:ZkRJX1CyOoTkar7p/mLS5TZU4nJ1Rn/F8u9dGS02Q3Y= github.com/mitchellh/hashstructure v1.0.0/go.mod h1:QjSHrPWS+BGUVBYkbTZWEnOh3G1DutKwClXU/ABz6AQ= +github.com/mitchellh/iochan v1.0.0/go.mod h1:JwYml1nuB7xOzsp52dPpHFffvOCDupsG0QubkSMEySY= +github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= github.com/mitchellh/mapstructure v1.3.2/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/mitchellh/mapstructure v1.3.3/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= @@ -727,12 +1064,24 @@ github.com/mitchellh/mapstructure v1.4.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RR github.com/mitchellh/mapstructure v1.4.1/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY= github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= +github.com/mitchellh/osext v0.0.0-20151018003038-5e2d6d41470f/go.mod h1:OkQIRizQZAeMln+1tSwduZz7+Af5oFlKirV/MSYes2A= github.com/mitchellh/reflectwalk v1.0.0/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= github.com/mitchellh/reflectwalk v1.0.1/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= github.com/mitchellh/reflectwalk v1.0.2/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= +github.com/moby/locker v1.0.1/go.mod h1:S7SDdo5zpBK84bzzVlKr2V0hz+7x9hWbYC/kq7oQppc= +github.com/moby/spdystream v0.2.0/go.mod h1:f7i0iNDQJ059oMTcWxx8MA/zKFIuD/lY+0GqbN2Wy8c= github.com/moby/sys/mount v0.2.0 h1:WhCW5B355jtxndN5ovugJlMFJawbUODuW8fSnEH6SSM= +github.com/moby/sys/mount v0.2.0/go.mod h1:aAivFE2LB3W4bACsUXChRHQ0qKWsetY4Y9V7sxOougM= +github.com/moby/sys/mountinfo v0.4.0/go.mod h1:rEr8tzG/lsIZHBtN/JjGG+LMYx9eXgW2JI+6q0qou+A= +github.com/moby/sys/mountinfo v0.4.1/go.mod h1:rEr8tzG/lsIZHBtN/JjGG+LMYx9eXgW2JI+6q0qou+A= github.com/moby/sys/mountinfo v0.5.0 h1:2Ks8/r6lopsxWi9m58nlwjaeSzUX9iiL1vj5qB/9ObI= +github.com/moby/sys/mountinfo v0.5.0/go.mod h1:3bMD3Rg+zkqx8MRYPi7Pyb0Ie97QEBmdxbhnCLlSvSU= +github.com/moby/sys/signal v0.6.0/go.mod h1:GQ6ObYZfqacOwTtlXvcmh9A26dVRul/hbOZn88Kg8Tg= +github.com/moby/sys/symlink v0.1.0/go.mod h1:GGDODQmbFOjFsXvfLVn3+ZRxkch54RkSiGqsZeMYowQ= +github.com/moby/sys/symlink v0.2.0/go.mod h1:7uZVF2dqJjG/NsClqul95CqKOBRQyYSNnJ6BMgR/gFs= +github.com/moby/term v0.0.0-20200312100748-672ec06f55cd/go.mod h1:DdlQx2hp0Ss5/fLikoLlEeIYiATotOjgB//nb973jeo= +github.com/moby/term v0.0.0-20210610120745-9d4ed1856297/go.mod h1:vgPCkQMyxTZ7IDy8SXRufE172gr8+K/JE/7hHFxHW3A= github.com/moby/term v0.0.0-20210619224110-3f7ff695adc6 h1:dcztxKSvZ4Id8iPpHERQBbIJfabdt4wUm5qy3wOL2Zc= github.com/moby/term v0.0.0-20210619224110-3f7ff695adc6/go.mod h1:E2VnQOmVuvZB6UYnnDB0qG5Nq/1tD9acaOpo6xmt0Kw= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= @@ -742,36 +1091,92 @@ github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lN github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= +github.com/morikuni/aec v0.0.0-20170113033406-39771216ff4c/go.mod h1:BbKIizmSmc5MMPqRYbxO4ZU0S0+P200+tUnFx7PXmsc= github.com/morikuni/aec v1.0.0 h1:nP9CBfwrvYnBRgY6qfDQkygYDmYwOilePFkwzv4dU8A= github.com/morikuni/aec v1.0.0/go.mod h1:BbKIizmSmc5MMPqRYbxO4ZU0S0+P200+tUnFx7PXmsc= +github.com/mrunalp/fileutils v0.5.0/go.mod h1:M1WthSahJixYnrXQl/DFQuteStB1weuxD2QJNHXfbSQ= +github.com/munnerz/goautoneg v0.0.0-20120707110453-a547fc61f48d/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= +github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= +github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= +github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f/go.mod h1:ZdcZmHo+o7JKHSa8/e818NopupXU1YMK5fe1lsApnBw= github.com/natefinch/atomic v1.0.1 h1:ZPYKxkqQOx3KZ+RsbnP/YsgvxWQPGxjC0oBt2AhwV0A= github.com/natefinch/atomic v1.0.1/go.mod h1:N/D/ELrljoqDyT3rZrsUmtsuzvHkeB/wWjHV22AZRbM= +github.com/ncw/swift v1.0.47/go.mod h1:23YIA4yWVnGwv2dQlN4bB7egfYX6YLn0Yo/S6zZO/ZM= github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= github.com/nightlyone/lockfile v1.0.0 h1:RHep2cFKK4PonZJDdEl4GmkabuhbsRMgk/k3uAmxBiA= github.com/nsf/jsondiff v0.0.0-20200515183724-f29ed568f4ce h1:RPclfga2SEJmgMmz2k+Mg7cowZ8yv4Trqw9UsJby758= github.com/nsf/jsondiff v0.0.0-20200515183724-f29ed568f4ce/go.mod h1:uFMI8w+ref4v2r9jz+c9i1IfIttS/OkmLfrk1jne5hs= +github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= +github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU= github.com/oklog/run v1.0.0 h1:Ru7dDtJNOyC66gQ5dQmaCa0qIsAUFY3sFpK1Xk8igrw= github.com/oklog/run v1.0.0/go.mod h1:dlhp/R75TPv97u0XWUtDeV/lRKWPKSdTuV0TZvrmrQA= +github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= +github.com/olekukonko/tablewriter v0.0.0-20170122224234-a0225b3f23b5/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo= +github.com/onsi/ginkgo v0.0.0-20151202141238-7f8ab55aaf3b/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v0.0.0-20170829012221-11459a886d9c/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.8.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.10.1/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.10.3/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.11.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.12.0/go.mod h1:oUhWkIvk5aDxtKvDDuw8gItl8pKl42LzjC9KZE0HfGg= +github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk= +github.com/onsi/ginkgo v1.13.0/go.mod h1:+REjRxOmWfHCjfv9TTWB1jD1Frx4XydAD3zm1lskyM0= +github.com/onsi/ginkgo v1.14.0/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9klQyY= +github.com/onsi/ginkgo v1.16.4/go.mod h1:dX+/inL/fNMqNlz0e9LfyB9TswhZpCVdJM/Z6Vvnwo0= +github.com/onsi/gomega v0.0.0-20151007035656-2152b45fa28a/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA= +github.com/onsi/gomega v0.0.0-20170829124025-dcabb60a477c/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA= +github.com/onsi/gomega v1.5.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= github.com/onsi/gomega v1.7.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= +github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= +github.com/onsi/gomega v1.9.0/go.mod h1:Ho0h+IUsWyvy1OpqCwxlQ/21gkhVunqlU8fDGcoTdcA= +github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= +github.com/onsi/gomega v1.10.3/go.mod h1:V9xEwhxec5O8UDM77eCW8vLymOMltsqPVYWrpDsH8xc= +github.com/onsi/gomega v1.15.0/go.mod h1:cIuvLEne0aoVhAgh/O6ac0Op8WWw9H6eYCriF+tEHG0= +github.com/opencontainers/go-digest v0.0.0-20170106003457-a6d0ee40d420/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s= github.com/opencontainers/go-digest v0.0.0-20180430190053-c9281466c8b2/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s= github.com/opencontainers/go-digest v1.0.0-rc1/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s= +github.com/opencontainers/go-digest v1.0.0-rc1.0.20180430190053-c9281466c8b2/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s= github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= +github.com/opencontainers/image-spec v1.0.0/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= github.com/opencontainers/image-spec v1.0.1/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= +github.com/opencontainers/image-spec v1.0.2-0.20211117181255-693428a734f5/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= +github.com/opencontainers/image-spec v1.0.2/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= github.com/opencontainers/image-spec v1.0.3-0.20211202183452-c5a74bcca799 h1:rc3tiVYb5z54aKaDfakKn0dDjIyPpTtszkjuMzyt7ec= +github.com/opencontainers/image-spec v1.0.3-0.20211202183452-c5a74bcca799/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= github.com/opencontainers/runc v0.0.0-20190115041553-12f6a991201f/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U= github.com/opencontainers/runc v0.1.1/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U= +github.com/opencontainers/runc v1.0.0-rc8.0.20190926000215-3e425f80a8c9/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U= +github.com/opencontainers/runc v1.0.0-rc9/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U= +github.com/opencontainers/runc v1.0.0-rc93/go.mod h1:3NOsor4w32B2tC0Zbl8Knk4Wg84SM2ImC1fxBuqJ/H0= +github.com/opencontainers/runc v1.0.2/go.mod h1:aTaHFFwQXuA71CiyxOdFFIorAoemI04suvGRQFzWTD0= +github.com/opencontainers/runc v1.1.0/go.mod h1:Tj1hFw6eFWp/o33uxGf5yF2BX5yz2Z6iptFpuvbbKqc= github.com/opencontainers/runc v1.1.2 h1:2VSZwLx5k/BfsBxMMipG/LYUnmqOD/BPkIVgQUcTlLw= +github.com/opencontainers/runc v1.1.2/go.mod h1:Tj1hFw6eFWp/o33uxGf5yF2BX5yz2Z6iptFpuvbbKqc= github.com/opencontainers/runtime-spec v0.1.2-0.20190507144316-5b71a03e2700/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= +github.com/opencontainers/runtime-spec v1.0.1/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= +github.com/opencontainers/runtime-spec v1.0.2-0.20190207185410-29686dbc5559/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= +github.com/opencontainers/runtime-spec v1.0.2/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= +github.com/opencontainers/runtime-spec v1.0.3-0.20200929063507-e6143ca7d51d/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= +github.com/opencontainers/runtime-spec v1.0.3-0.20210326190908-1c3f411f0417/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= +github.com/opencontainers/runtime-tools v0.0.0-20181011054405-1d69bd0f9c39/go.mod h1:r3f7wjNzSs2extwzU3Y+6pKfobzPh+kKFJ3ofN+3nfs= +github.com/opencontainers/selinux v1.6.0/go.mod h1:VVGKuOLlE7v4PJyT6h7mNWvq1rzqiriPsEqVhc+svHE= +github.com/opencontainers/selinux v1.8.0/go.mod h1:RScLhm78qiWa2gbVCcGkC7tCGdgk3ogry1nUQF8Evvo= +github.com/opencontainers/selinux v1.8.2/go.mod h1:MUIHuUEvKB1wtJjQdOyYRgOnLD2xAPP8dBsCoU0KuF8= +github.com/opencontainers/selinux v1.10.0/go.mod h1:2i0OySw99QjzBBQByd1Gr9gSjvuho1lHsJxIJ3gGbJI= github.com/opentracing/basictracer-go v1.1.0 h1:Oa1fTSBvAl8pa3U+IJYqrKm0NALwH9OsgwOqDv4xJW0= github.com/opentracing/basictracer-go v1.1.0/go.mod h1:V2HZueSJEp879yv285Aap1BS69fQMD+MNP1mRs6mBQc= github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= github.com/opentracing/opentracing-go v1.2.0 h1:uEJPy/1a5RIPAJ0Ov+OIO8OxWu77jEv+1B0VhjKrZUs= github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc= +github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= github.com/pascaldekloe/goe v0.1.0/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= +github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= +github.com/pelletier/go-toml v1.8.1/go.mod h1:T2/BmBdy8dvIRq1a/8aqjN41wvWlN4lrapLU/GW4pbc= +github.com/pelletier/go-toml v1.9.3/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= +github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod h1:uqqh8zWWbv1HBMNONnaR/tNboyR3/BZd58JJSHlUSCU= github.com/pgavlin/goldmark v1.1.33-0.20200616210433-b5eb04559386 h1:LoCV5cscNVWyK5ChN/uCoIFJz8jZD63VQiGJIRgr6uo= github.com/pgavlin/goldmark v1.1.33-0.20200616210433-b5eb04559386/go.mod h1:MRxHTJrf9FhdfNQ8Hdeh9gmHevC9RJE/fu8M3JIGjoE= github.com/pierrec/lz4 v2.0.5+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= @@ -792,22 +1197,45 @@ github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZN github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI= github.com/posener/complete v1.2.1 h1:LrvDIY//XNo65Lq84G/akBuMGlawHvGBABv8f/ZN6DI= github.com/posener/complete v1.2.1/go.mod h1:6gapUrK/U1TAN7ciCoNRIdVC5sbdBTUh1DKN0g6uH7E= +github.com/pquerna/cachecontrol v0.0.0-20171018203845-0dec1b30a021/go.mod h1:prYjPmNq4d1NPVmpShWobRqXY3q7Vp+80DqgxxUrUIA= +github.com/prometheus/client_golang v0.0.0-20180209125602-c332b6f63c06/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= github.com/prometheus/client_golang v0.9.2/go.mod h1:OsXs2jCmiKlQ1lTBmv21f2mNfw4xf/QclQDMrYNZzcM= +github.com/prometheus/client_golang v0.9.3/go.mod h1:/TN21ttK/J9q6uSwhBd54HahCDft0ttaMvbicHlPoso= github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= +github.com/prometheus/client_golang v1.1.0/go.mod h1:I1FGZT9+L76gKKOs5djB6ezCbFQP1xR9D75/vuwEF3g= github.com/prometheus/client_golang v1.4.0/go.mod h1:e9GMxYsXl05ICDXkRhurwBS4Q3OK1iX/F2sw+iXX5zU= +github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M= +github.com/prometheus/client_golang v1.11.0/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= +github.com/prometheus/client_model v0.0.0-20171117100541-99fa1f4be8e5/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/prometheus/common v0.0.0-20180110214958-89604d197083/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= +github.com/prometheus/common v0.0.0-20181113130724-41aa239b4cce/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= github.com/prometheus/common v0.0.0-20181126121408-4724e9255275/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= +github.com/prometheus/common v0.4.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= +github.com/prometheus/common v0.6.0/go.mod h1:eBmuwkDJBwy6iBfxCBob6t6dR6ENT/y+J+Zk0j9GMYc= github.com/prometheus/common v0.9.1/go.mod h1:yhUN8i9wzaXS3w1O07YhxHEBxD+W35wd8bs7vj7HSQ4= +github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo= +github.com/prometheus/common v0.26.0/go.mod h1:M7rCNAaPfAosfx8veZJCuw84e35h3Cfd9VFqTh1DIvc= +github.com/prometheus/common v0.30.0/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= github.com/prometheus/procfs v0.0.0-20180125133057-cb4147076ac7/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.0-20181204211112-1dc9a6cbc91a/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= +github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= +github.com/prometheus/procfs v0.0.0-20190522114515-bc1a522cf7b1/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= +github.com/prometheus/procfs v0.0.3/go.mod h1:4A/X28fw3Fc593LaREMrKMqOKvUAntwMDaekg4FpcdQ= +github.com/prometheus/procfs v0.0.5/go.mod h1:4A/X28fw3Fc593LaREMrKMqOKvUAntwMDaekg4FpcdQ= github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+GxbHq6oeK9A= +github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= +github.com/prometheus/procfs v0.2.0/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= +github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= +github.com/prometheus/procfs v0.7.3/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= +github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= github.com/pulumi/pulumi-java/pkg v0.5.4 h1:hQH7BrEMWvwq/uzsi0XsULoQ8WPpBpqK/rosnggsdDI= github.com/pulumi/pulumi-java/pkg v0.5.4/go.mod h1:leMQvQ5IR3APhejwcWSfwZnkHosKHygKRaWkIyhsvtw= github.com/pulumi/pulumi-terraform-bridge/v3 v3.30.0 h1:UrqZOn0bWEkF2iSaMSWL7I68gKypbZcxoJaJFrpea24= @@ -820,28 +1248,39 @@ github.com/pulumi/pulumi/sdk/v3 v3.39.3 h1:FQk/fJjwRffehuCyJa/z1ejY7sjdrMji1Z3hq github.com/pulumi/pulumi/sdk/v3 v3.39.3/go.mod h1:Fw52iyR/4T9xWm7cTcshy4rGEXyPwhXKKEalczKZ8RY= github.com/pulumi/terraform-diff-reader v0.0.0-20201211191010-ad4715e9285e h1:Dik4Qe/+xguB8JagPyXNlbOnRiXGmq/PSPQTGunYnTk= github.com/pulumi/terraform-diff-reader v0.0.0-20201211191010-ad4715e9285e/go.mod h1:sZ9FUzGO+yM41hsQHs/yIcj/Y993qMdBxBU5mpDmAfQ= -github.com/pulumi/terraform-plugin-sdk/v2 v2.0.0-20220725190814-23001ad6ec03 h1:J06u+TRoOQ9C6JZlXNvmOE5Il4/WdXslx5bOUIRZtDI= -github.com/pulumi/terraform-plugin-sdk/v2 v2.0.0-20220725190814-23001ad6ec03/go.mod h1:/WYikYjhKB7c2j1HmXZhRsAARldRb4M38bLCLOhC3so= -github.com/pulumi/terraform-provider-confluent v0.0.0-20220913130044-4dc69b9e3c05 h1:sAZouLnwCD96irVGZ1B3Lqm45SEAyiKBulECqxZt384= -github.com/pulumi/terraform-provider-confluent v0.0.0-20220913130044-4dc69b9e3c05/go.mod h1:kIoKT2FHgbUWYTHGCEa6RKb6fY4cGK+KHRsI8yEDpsM= +github.com/pulumi/terraform-plugin-sdk/v2 v2.0.0-20220824175045-450992f2f5b9 h1:JMw+t5I+6E8Lna7JF+ghAoOLOl23UIbshJyRNP+K1HU= +github.com/pulumi/terraform-plugin-sdk/v2 v2.0.0-20220824175045-450992f2f5b9/go.mod h1:mYPs/uchNcBq7AclQv9QUtSf9iNcfp1Ag21jqTlDf2M= +github.com/pulumi/terraform-provider-confluent v0.0.0-20220913141559-0af345d42281 h1:aprhtfsd2VuTKduDlbIfaUlU8eYA3kercGKLtzNLqj0= +github.com/pulumi/terraform-provider-confluent v0.0.0-20220913141559-0af345d42281/go.mod h1:DHLQIohK1K5rZbdGNO8MJ8OIT+W4CJbcBYRwlJmYP30= github.com/rivo/uniseg v0.2.0 h1:S1pD9weZBuJdFmowNwbpi7BJ8TNftyUImj/0WQi72jY= github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= +github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/rogpeppe/go-internal v1.8.1 h1:geMPLpDpQOgVyCg5z5GoRwLHepNdb71NXb67XFkP+Eg= github.com/rogpeppe/go-internal v1.8.1/go.mod h1:JeRgkft04UBgHMgCIwADu4Pn6Mtm5d4nPKWu0nJ5d+o= +github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf35Ld67mk= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= +github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= github.com/ryanuber/columnize v2.1.0+incompatible/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= github.com/ryanuber/go-glob v1.0.0 h1:iQh3xXAumdQ+4Ufa5b25cRpC5TYKlno6hsv6Cb3pkBk= github.com/ryanuber/go-glob v1.0.0/go.mod h1:807d1WSdnB0XRJzKNil9Om6lcp/3a0v4qIHxIXzX/Yc= github.com/sabhiram/go-gitignore v0.0.0-20210923224102-525f6e181f06 h1:OkMGxebDjyw0ULyrTYWeN0UNCCkmCWfjPnIA2W6oviI= github.com/sabhiram/go-gitignore v0.0.0-20210923224102-525f6e181f06/go.mod h1:+ePHsJ1keEjQtpvf9HHw0f4ZeJ0TLRsxhunSI2hYJSs= +github.com/safchain/ethtool v0.0.0-20190326074333-42ed695e3de8/go.mod h1:Z0q5wiBQGYcxhMZ6gUqHn6pYNLypFAvaL3UvgZLR0U4= +github.com/safchain/ethtool v0.0.0-20210803160452-9aa261dae9b1/go.mod h1:Z0q5wiBQGYcxhMZ6gUqHn6pYNLypFAvaL3UvgZLR0U4= github.com/samber/lo v1.20.0 h1:20FtphdORvp4yxklurzZv2HX+g+0urEMQziODC5bV70= github.com/samber/lo v1.20.0/go.mod h1:2I7tgIv8Q1SG2xEIkRq0F2i2zgxVpnyPOP0d3Gj2r+A= github.com/santhosh-tekuri/jsonschema/v5 v5.0.0 h1:TToq11gyfNlrMFZiYujSekIsPd9AmsA2Bj/iv+s4JHE= github.com/santhosh-tekuri/jsonschema/v5 v5.0.0/go.mod h1:FKdcjfQW6rpZSnxxUvEA5H/cDPdvJ/SZJQLWWXWGrZ0= +github.com/satori/go.uuid v1.2.0/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0= +github.com/sclevine/agouti v3.0.0+incompatible/go.mod h1:b4WX9W9L1sfQKXeJf1mUTLZKJ48R1S7H23Ji7oFO5Bw= +github.com/sclevine/spec v1.2.0/go.mod h1:W4J29eT/Kzv7/b9IWLB055Z+qvVC9vt0Arko24q7p+U= +github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= github.com/sebdah/goldie v1.0.0/go.mod h1:jXP4hmWywNEwZzhMuv2ccnqTSFpuq8iyQhtQdkkZBH4= +github.com/seccomp/libseccomp-golang v0.9.1/go.mod h1:GbW5+tmTXfcxTToHLXlScSlAvWlF4P2Ca7zGrPiEpWo= +github.com/seccomp/libseccomp-golang v0.9.2-0.20210429002308-3879420cc921/go.mod h1:JA8cRccbGaA1s33RQf7Y1+q9gHmZX1yB/z9WDN1C6fg= github.com/segmentio/asm v1.1.3 h1:WM03sfUOENvvKexOLp+pCqgb/WDjsi7EK8gIsICtzhc= github.com/segmentio/asm v1.1.3/go.mod h1:Ld3L4ZXGNcSLRg4JBsZ3//1+f/TjYl0Mzen/DQy1EJg= github.com/segmentio/encoding v0.3.5 h1:UZEiaZ55nlXGDL92scoVuw00RmiRCazIEmvPSbSvt8Y= @@ -851,30 +1290,53 @@ github.com/sergi/go-diff v1.1.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNX github.com/sergi/go-diff v1.2.0 h1:XU+rvMAioB0UC3q1MFrIQy4Vo5/4VsRDQQXHsEya6xQ= github.com/sergi/go-diff v1.2.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM= github.com/shurcooL/go-goon v0.0.0-20210110234559-7585751d9a17 h1:lRAUE0dIvigSSFAmaM2dfg7OH8T+a8zJ5smEh09a/GI= +github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= github.com/sirupsen/logrus v1.0.4-0.20170822132746-89742aefa4b2/go.mod h1:pMByvHTf9Beacp5x1UXfOR9xyW/9antXMhjMPG0dEzc= +github.com/sirupsen/logrus v1.0.6/go.mod h1:pMByvHTf9Beacp5x1UXfOR9xyW/9antXMhjMPG0dEzc= github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q= github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= +github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88= github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/sirupsen/logrus v1.8.1 h1:dJKuHgqk1NNQlqoA6BTlM1Wf9DOH3NBjQyu0h9+AZZE= +github.com/sirupsen/logrus v1.8.1/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= +github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= +github.com/smartystreets/goconvey v0.0.0-20190330032615-68dc04aab96a/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= +github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= +github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM= +github.com/soheilhy/cmux v0.1.5/go.mod h1:T7TcVDs9LWfQgPlPsdngu6I6QIoyIFZDDC6sNE1GqG0= github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= +github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ= github.com/spf13/afero v1.2.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk= github.com/spf13/afero v1.6.0 h1:xoax2sJ2DT8S8xA2paPFjDCScCNeWsg75VG0DLRreiY= github.com/spf13/afero v1.6.0/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z93I= +github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= github.com/spf13/cast v1.4.1 h1:s0hze+J0196ZfEMTs80N7UlFt0BDuQ7Q+JDnHiMWKdA= github.com/spf13/cast v1.4.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= github.com/spf13/cobra v0.0.2-0.20171109065643-2da4a54c5cee/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= +github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= +github.com/spf13/cobra v1.0.0/go.mod h1:/6GTrnGXV9HjY+aR4k0oJ5tcvakLuG6EuKReYlHNrgE= +github.com/spf13/cobra v1.1.3/go.mod h1:pGADOWyqRD/YMrPZigI/zbliZ2wVD/23d+is3pSWzOo= github.com/spf13/cobra v1.4.0 h1:y+wJpx64xcgO1V+RcnwW0LEHxTKRi2ZDPSBjWnrg88Q= github.com/spf13/cobra v1.4.0/go.mod h1:Wo4iy3BUC+X2Fybo0PDqwJIv3dNRiZLHQymsfxlB84g= +github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= +github.com/spf13/pflag v0.0.0-20170130214245-9ff6c6923cff/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.1-0.20171106142849-4c012f6dcd95/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= +github.com/spf13/pflag v1.0.1/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.2/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= +github.com/spf13/viper v1.4.0/go.mod h1:PTJ7Z/lr49W6bUbkmS1V3by4uWynFiR9p7+dSq/yZzE= +github.com/spf13/viper v1.7.0/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg= +github.com/stefanberger/go-pkcs11uri v0.0.0-20201008174630-78d3cae3a980/go.mod h1:AO3tvPzVZ/ayst6UlUKUv6rcPQInYe3IknH3jYhAKu8= +github.com/stoewer/go-strcase v1.2.0/go.mod h1:IBiWB2sKIp3wVVQ3Y035++gc+knqhUQag1KpM8ahLw8= +github.com/stretchr/objx v0.0.0-20180129172003-8a3f7159479f/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.2.0 h1:Hbg2NidpLE8veEBkEZTL3CvlkUIVzuU9jDplZO54c48= github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE= +github.com/stretchr/testify v0.0.0-20180303142811-b89eecf5ca5d/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.2.1/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= @@ -884,23 +1346,45 @@ github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/ github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.2 h1:4jaiDzPyXQvSd7D0EjG45355tLlV3VOECpq10pLC+8s= github.com/stretchr/testify v1.7.2/go.mod h1:R6va5+xMeoiuVRoj+gSkQ7d3FALtqAAGI1FQKckRals= +github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw= +github.com/syndtr/gocapability v0.0.0-20170704070218-db04d3cc01c8/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww= +github.com/syndtr/gocapability v0.0.0-20180916011248-d98352740cb2/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww= +github.com/syndtr/gocapability v0.0.0-20200815063812-42c35b437635/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww= +github.com/tchap/go-patricia v2.2.6+incompatible/go.mod h1:bmLyhP68RS6kStMGxByiQ23RP/odRBOTVjwp2cDyi6I= github.com/testcontainers/testcontainers-go v0.13.0 h1:OUujSlEGsXVo/ykPVZk3KanBNGN0TYb/7oKIPVn15JA= +github.com/testcontainers/testcontainers-go v0.13.0/go.mod h1:z1abufU633Eb/FmSBTzV6ntZAC1eZBYPtaFsn4nPuDk= github.com/texttheater/golang-levenshtein v1.0.1 h1:+cRNoVrfiwufQPhoMzB6N0Yf/Mqajr6t1lOv8GyGE2U= github.com/texttheater/golang-levenshtein v1.0.1/go.mod h1:PYAKrbF5sAiq9wd+H82hs7gNaen0CplQ9uvm6+enD/8= github.com/thoas/go-funk v0.9.1 h1:O549iLZqPpTUQ10ykd26sZhzD+rmR5pWhuElrhbC20M= +github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= +github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= +github.com/tmc/grpc-websocket-proxy v0.0.0-20201229170055-e5319fda7802/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926/go.mod h1:9ESjWnEqriFuLhtthL60Sar/7RFoluCcXsuvEwTV5KM= +github.com/tv42/httpunix v0.0.0-20191220191345-2ba4b9c3382c/go.mod h1:hzIxponao9Kjc7aWznkXaL4U4TWaDSs8zcsY4Ka08nM= github.com/tweekmonster/luser v0.0.0-20161003172636-3fa38070dbd7 h1:X9dsIWPuuEJlPX//UmRKophhOKCGXc46RVIGuttks68= github.com/tweekmonster/luser v0.0.0-20161003172636-3fa38070dbd7/go.mod h1:UxoP3EypF8JfGEjAII8jx1q8rQyDnX8qdTCs/UQBVIE= github.com/uber/jaeger-client-go v2.30.0+incompatible h1:D6wyKGCecFaSRUpo8lCVbaOOb6ThwMmTEbhRwtKR97o= github.com/uber/jaeger-client-go v2.30.0+incompatible/go.mod h1:WVhlPFC8FDjOFMMWRy2pZqQJSXxYSwNYOkTr/Z6d3Kk= github.com/uber/jaeger-lib v2.4.1+incompatible h1:td4jdvLcExb4cBISKIpHuGoVXh+dVKhn2Um6rjCsSsg= github.com/uber/jaeger-lib v2.4.1+incompatible/go.mod h1:ComeNDZlWwrWnDv8aPp0Ba6+uUTzImX/AauajbLI56U= +github.com/ugorji/go v1.1.4/go.mod h1:uQMGLiO92mf5W77hV/PUCpI3pbzQx3CRekS0kk+RGrc= github.com/ugorji/go v1.1.7/go.mod h1:kZn38zHttfInRq0xu/PH0az30d+z6vm202qpg1oXVMw= github.com/ugorji/go/codec v1.1.7/go.mod h1:Ax+UKWsSmolVDwsd+7N3ZtXu+yMGCf907BLYF3GoBXY= github.com/ulikunitz/xz v0.5.5/go.mod h1:2bypXElzHzzJZwzH67Y6wb67pO62Rzfn7BSiF4ABRW8= github.com/ulikunitz/xz v0.5.8 h1:ERv8V6GKqVi23rgu5cj9pVfVzJbOqAY2Ntl88O6c2nQ= github.com/ulikunitz/xz v0.5.8/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14= github.com/urfave/cli v0.0.0-20171014202726-7bc6a0acffa5/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= +github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= +github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= +github.com/urfave/cli v1.22.2/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= +github.com/vishvananda/netlink v0.0.0-20181108222139-023a6dafdcdf/go.mod h1:+SR5DhBJrl6ZM7CoCKvpw5BKroDKQ+PJqOg65H/2ktk= +github.com/vishvananda/netlink v1.1.0/go.mod h1:cTgwzPIzzgDAYoQrMm0EdrjRUBkTqKYppBueQtXaqoE= +github.com/vishvananda/netlink v1.1.1-0.20201029203352-d40f9887b852/go.mod h1:twkDnbuQxJYemMlGd4JFIcuhgX83tXhKS2B/PRMpOho= +github.com/vishvananda/netlink v1.1.1-0.20210330154013-f5de75959ad5/go.mod h1:twkDnbuQxJYemMlGd4JFIcuhgX83tXhKS2B/PRMpOho= +github.com/vishvananda/netns v0.0.0-20180720170159-13995c7128cc/go.mod h1:ZjcWmFBXmLKZu9Nxj3WKYEafiSqer2rnvPr0en9UNpI= +github.com/vishvananda/netns v0.0.0-20191106174202-0a2b9b5464df/go.mod h1:JP3t17pCcGlemwknint6hfoeCVQrEMVwxRLRjXpq+BU= +github.com/vishvananda/netns v0.0.0-20200728191858-db3c7e526aae/go.mod h1:DD4vA1DwXk04H54A1oHXtwZmA0grkVMdPxx/VGLCah0= +github.com/vishvananda/netns v0.0.0-20210104183010-2eb08e3e575f/go.mod h1:DD4vA1DwXk04H54A1oHXtwZmA0grkVMdPxx/VGLCah0= github.com/vmihailenco/msgpack v3.3.3+incompatible/go.mod h1:fy3FlTQTDXWkZ7Bh6AcGMlsjHatGryHQYUTf1ShIgkk= github.com/vmihailenco/msgpack v4.0.1+incompatible/go.mod h1:fy3FlTQTDXWkZ7Bh6AcGMlsjHatGryHQYUTf1ShIgkk= github.com/vmihailenco/msgpack v4.0.4+incompatible h1:dSLoQfGFAo3F6OoNhwUmLwVgaUXK79GlxNBwueZn0xI= @@ -910,6 +1394,9 @@ github.com/vmihailenco/msgpack/v4 v4.3.12/go.mod h1:gborTTJjAo/GWTqqRjrLCn9pgNN+ github.com/vmihailenco/tagparser v0.1.1 h1:quXMXlA39OCbd2wAdTsGDlK9RkOk6Wuw+x37wVyIuWY= github.com/vmihailenco/tagparser v0.1.1/go.mod h1:OeAg3pn3UbLjkWt+rN9oFYB6u/cQgqMEUPoW2WPyhdI= github.com/walkerus/go-wiremock v1.2.0 h1:c8Y6ihQdTact5Z7NvYLBTu8n19hXocEDvqOgTbkBwhU= +github.com/walkerus/go-wiremock v1.2.0/go.mod h1:LLgrMO0k+kiwm5YvnXbvNL/EgqBKFcOoJXpA+ZwuKDk= +github.com/willf/bitset v1.1.11-0.20200630133818-d5bec3311243/go.mod h1:RjeCKbqT1RxIR/KWY6phxZiaY1IyutSBfGjNPySAYV4= +github.com/willf/bitset v1.1.11/go.mod h1:83CECat5yLh5zVOf4P1ErAgKA5UDvKtgyUABdr3+MjI= github.com/xanzy/ssh-agent v0.3.0/go.mod h1:3s9xbODqPuuhK9JV1R321M/FlMZSBvE5aY6eAcqrDh0= github.com/xanzy/ssh-agent v0.3.2 h1:eKj4SX2Fe7mui28ZgnFW5fmTz1EIr7ugo5s6wDxdHBM= github.com/xanzy/ssh-agent v0.3.2/go.mod h1:6dzNDKs0J9rVPHPhaGCukekBHKqfl+L3KghI1Bc68Uw= @@ -917,13 +1404,19 @@ github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f h1:J9EGpcZtP github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU= github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 h1:EzJWgHovont7NscjpAxXsDA8S8BMYve8Y5+7cuRE7R0= github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415/go.mod h1:GwrjFmJcFw6At/Gs6z4yjiIwzuJ1/+UwLxMQDVQXShQ= +github.com/xeipuuv/gojsonschema v0.0.0-20180618132009-1d523034197f/go.mod h1:5yf86TLmAcydyeJq5YvxkGPE2fm/u4myDekKRoLuqhs= github.com/xeipuuv/gojsonschema v1.2.0 h1:LhYJRs+L4fBtjZUfuSZIKGeVu0QRy8e5Xi7D17UxZ74= github.com/xeipuuv/gojsonschema v1.2.0/go.mod h1:anYRn/JVcOK2ZgGU+IjEV4nwlhoK5sQluxsYJ78Id3Y= +github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= +github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q= github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= +github.com/yvasiyarov/go-metrics v0.0.0-20140926110328-57bccd1ccd43/go.mod h1:aX5oPXxHm3bOH+xeAttToC8pqch2ScQN/JoXYupl6xs= +github.com/yvasiyarov/gorelic v0.0.0-20141212073537-a9bba5b9ab50/go.mod h1:NUSPSUX/bi6SeDMUh6brw0nXpxHnc96TguQh0+r/ssA= +github.com/yvasiyarov/newrelic_platform_go v0.0.0-20140908184405-b21fdbd4370f/go.mod h1:GlGEuHIJweS1mbCqG+7vt2nvWLzLLnRHbXz5JKd/Qbg= github.com/zclconf/go-cty v1.0.0/go.mod h1:xnAOWiHeOqg2nWS62VtQ7pbOu17FtxJNW8RLEih+O3s= github.com/zclconf/go-cty v1.1.0/go.mod h1:xnAOWiHeOqg2nWS62VtQ7pbOu17FtxJNW8RLEih+O3s= github.com/zclconf/go-cty v1.2.0/go.mod h1:hOPWgoHbaTUnI5k4D2ld+GRpFJSCe6bCM7m1q/N4PQ8= @@ -934,6 +1427,19 @@ github.com/zclconf/go-cty v1.10.0/go.mod h1:vVKLxnk3puL4qRAv72AO+W99LUD4da90g3uU github.com/zclconf/go-cty-debug v0.0.0-20191215020915-b22d67c1ba0b/go.mod h1:ZRKQfBXbGkpdV6QMzT3rU1kSTAnfu1dO8dPKjYprgj8= github.com/zclconf/go-cty-yaml v1.0.1 h1:up11wlgAaDvlAGENcFDnZgkn0qUJurso7k6EpURKNF8= github.com/zclconf/go-cty-yaml v1.0.1/go.mod h1:IP3Ylp0wQpYm50IHK8OZWKMu6sPJIUgKa8XhiVHura0= +go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= +go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= +go.etcd.io/bbolt v1.3.5/go.mod h1:G5EMThwa9y8QZGBClrRx5EY+Yw9kAhnjy3bSjsnlVTQ= +go.etcd.io/bbolt v1.3.6/go.mod h1:qXsaaIqmgQH0T+OPdb99Bf+PKfBBQVAdyD6TY9G8XM4= +go.etcd.io/etcd v0.5.0-alpha.5.0.20200910180754-dd1b699fc489/go.mod h1:yVHk9ub3CSBatqGNg7GRmsnfLWtoW60w4eDYfh7vHDg= +go.etcd.io/etcd/api/v3 v3.5.0/go.mod h1:cbVKeC6lCfl7j/8jBhAK6aIYO9XOjdptoxU/nLQcPvs= +go.etcd.io/etcd/client/pkg/v3 v3.5.0/go.mod h1:IJHfcCEKxYu1Os13ZdwCwIUTUVGYTSAM3YSwc9/Ac1g= +go.etcd.io/etcd/client/v2 v2.305.0/go.mod h1:h9puh54ZTgAKtEbut2oe9P4L/oqKCVB6xsXlzd7alYQ= +go.etcd.io/etcd/client/v3 v3.5.0/go.mod h1:AIKXXVX/DQXtfTEqBryiLTUXwON+GuvO6Z7lLS/oTh0= +go.etcd.io/etcd/pkg/v3 v3.5.0/go.mod h1:UzJGatBQ1lXChBkQF0AuAtkRQMYnHubxAEYIrC3MSsE= +go.etcd.io/etcd/raft/v3 v3.5.0/go.mod h1:UFOHSIvO/nKwd4lhkwabrTD3cqW5yVyYYf/KlD00Szc= +go.etcd.io/etcd/server/v3 v3.5.0/go.mod h1:3Ah5ruV+M+7RZr0+Y/5mNLwC+eQlni+mQmOVdCRJoS4= +go.mozilla.org/pkcs7 v0.0.0-20200128120323-432b2356ecb1/go.mod h1:SNgMg+EgDFwmvSmLRTNKC5fegJjB7v23qTQ0XLGUNHk= go.opencensus.io v0.15.0/go.mod h1:UffZAU+4sDEINUGP/B7UfBBkq4fqLu9zXAX7ke6CHW0= go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= @@ -944,14 +1450,40 @@ go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= go.opencensus.io v0.22.6/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= go.opencensus.io v0.23.0 h1:gqCw0LfLxScz8irSi8exQc7fyQ0fKQU/qnC/X8+V/1M= go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= +go.opentelemetry.io/contrib v0.20.0/go.mod h1:G/EtFaa6qaN7+LxqfIAT3GiZa7Wv5DTBUzl5H4LY0Kc= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.20.0/go.mod h1:oVGt1LRbBOBq1A5BQLlUg9UaU/54aiHw8cgjV3aWZ/E= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.28.0/go.mod h1:vEhqr0m4eTc+DWxfsXoXue2GBgV2uUwVznkGIHW/e5w= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.20.0/go.mod h1:2AboqHi0CiIZU0qwhtUfCYD1GeUzvvIXWNkhDt7ZMG4= +go.opentelemetry.io/otel v0.20.0/go.mod h1:Y3ugLH2oa81t5QO+Lty+zXf8zC9L26ax4Nzoxm/dooo= +go.opentelemetry.io/otel v1.3.0/go.mod h1:PWIKzi6JCp7sM0k9yZ43VX+T345uNbAkDKwHVjb2PTs= +go.opentelemetry.io/otel/exporters/otlp v0.20.0/go.mod h1:YIieizyaN77rtLJra0buKiNBOm9XQfkPEKBeuhoMwAM= +go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.3.0/go.mod h1:VpP4/RMn8bv8gNo9uK7/IMY4mtWLELsS+JIP0inH0h4= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.3.0/go.mod h1:hO1KLR7jcKaDDKDkvI9dP/FIhpmna5lkqPUQdEjFAM8= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.3.0/go.mod h1:keUU7UfnwWTWpJ+FWnyqmogPa82nuU5VUANFq49hlMY= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.3.0/go.mod h1:QNX1aly8ehqqX1LEa6YniTU7VY9I6R3X/oPxhGdTceE= +go.opentelemetry.io/otel/metric v0.20.0/go.mod h1:598I5tYlH1vzBjn+BTuhzTCSb/9debfNp6R3s7Pr1eU= +go.opentelemetry.io/otel/oteltest v0.20.0/go.mod h1:L7bgKf9ZB7qCwT9Up7i9/pn0PWIa9FqQ2IQ8LoxiGnw= +go.opentelemetry.io/otel/sdk v0.20.0/go.mod h1:g/IcepuwNsoiX5Byy2nNV0ySUF1em498m7hBWC279Yc= +go.opentelemetry.io/otel/sdk v1.3.0/go.mod h1:rIo4suHNhQwBIPg9axF8V9CA72Wz2mKF1teNrup8yzs= +go.opentelemetry.io/otel/sdk/export/metric v0.20.0/go.mod h1:h7RBNMsDJ5pmI1zExLi+bJK+Dr8NQCh0qGhm1KDnNlE= +go.opentelemetry.io/otel/sdk/metric v0.20.0/go.mod h1:knxiS8Xd4E/N+ZqKmUPf3gTTZ4/0TjTXukfxjzSTpHE= +go.opentelemetry.io/otel/trace v0.20.0/go.mod h1:6GjCW8zgDjwGHGa6GkyeB8+/5vjT16gUEi0Nf1iBdgw= +go.opentelemetry.io/otel/trace v1.3.0/go.mod h1:c/VDhno8888bvQYmbYLqe41/Ldmr/KKunbvWM4/fEjk= go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= +go.opentelemetry.io/proto/otlp v0.11.0/go.mod h1:QpEjXPrNQzrFDZgoTo49dgHR9RYRSrg3NAKnUGl9YpQ= +go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= +go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/atomic v1.6.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= go.uber.org/atomic v1.9.0 h1:ECmE8Bn/WFTYwEW/bpKD3M8VtR/zQVbavAoalC1PYyE= go.uber.org/atomic v1.9.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= go.uber.org/goleak v1.1.10/go.mod h1:8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A= +go.uber.org/goleak v1.1.12/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ= +go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= go.uber.org/multierr v1.7.0/go.mod h1:7EAYxJLBy9rStEaz58O2t4Uvip6FSURkq8/ppBp95ak= +go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= +go.uber.org/zap v1.17.0/go.mod h1:MXVU+bhUf/A7Xi2HNOnopQOrmycQ5Ih87HtOu4q5SSo= go.uber.org/zap v1.18.1/go.mod h1:xg/QME4nWcxGxrpdeYfq7UvYrLh66cuVKdrbD1XF/NI= go.uber.org/zap v1.19.0/go.mod h1:xg/QME4nWcxGxrpdeYfq7UvYrLh66cuVKdrbD1XF/NI= gocloud.dev v0.24.0 h1:cNtHD07zQQiv02OiwwDyVMuHmR7iQt2RLkzoAgz7wBs= @@ -960,6 +1492,8 @@ gocloud.dev/secrets/hashivault v0.24.0 h1:rutqnevHcRze+92YMGmjCH3gX+qES8IArg5qPh gocloud.dev/secrets/hashivault v0.24.0/go.mod h1:I4EieZgy8VTp5iVK2jSPlTidjENujhKq2Y/wXz8r8V0= golang.org/x/crypto v0.0.0-20171113213409-9f005a07e0d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20181009213950-7c1a557ab941/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190219172222-a4c6cb3142f2/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190325154230-a5d413f7728c/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= @@ -968,6 +1502,8 @@ golang.org/x/crypto v0.0.0-20190426145343-a29dc8fdc734/go.mod h1:yigFU9vqHzYiE8U golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190530122614-20be4c3c3ed5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200604202706-70a84ac30bf9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= @@ -975,6 +1511,7 @@ golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPh golang.org/x/crypto v0.0.0-20200728195943-123391ffb6de/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200820211705-5c72a883971a/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20201002170205-7f63de1d35b0/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20210220033148-5ea612d1eb83/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= golang.org/x/crypto v0.0.0-20210513164829-c07d793c2f9a/go.mod h1:P+XmwS30IXTQdn5tA2iutPOUgjI07+tq3H3K9MVA1s8= @@ -1029,20 +1566,26 @@ golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73r golang.org/x/net v0.0.0-20180811021610-c39426892332/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181011144130-49bb7cea24b1/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181023162649-9b4f9f5ad519/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20181201002055-351d144fa1fc/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190522155817-f3200d17e092/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190619014844-b5b0513f8c1b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190813141303-74dc4d7220e7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20191004110552-13f9640d40b9/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20191009170851-d66e71096ffb/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20191112182307-2180aed22343/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= @@ -1057,14 +1600,17 @@ golang.org/x/net v0.0.0-20200421231249-e086a090c8fd/go.mod h1:qpuaurCH72eLCgpAm/ golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200506145744-7e3656a0809f/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200602114024-627f9648deb9/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/net v0.0.0-20201006153459-a7d1128ccaa0/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20201031054903-ff519b6c9102/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20201202161906-c7110b5ffcbb/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20201209123823-ac852fbbde11/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= @@ -1072,11 +1618,17 @@ golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc= golang.org/x/net v0.0.0-20210326060303-6b1517762897/go.mod h1:uSPa2vr4CLtc/ILN5odXGNXS6mhrKVzTaCXzk9m6W3k= golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= +golang.org/x/net v0.0.0-20210428140749-89ef3d95e781/go.mod h1:OJAsFXCWl8Ukc7SiCT/9KSuxbyM7479/AVlXFRxuMCk= golang.org/x/net v0.0.0-20210503060351-7fd8e65b6420/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20210520170846-37e1c6afe023/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210614182718-04defd469f4e/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210726213435-c6fcb2dbf985/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210825183410-e898025ed96a/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20211108170745-6635138e15ea/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20211209124913-491a49abca63/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20211216030914-fe4d6282115f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/net v0.0.0-20220325170049-de3da57026de h1:pZB1TWnKi+o4bENlbzAgLrEbY4RMYmUIRobMcSmfeYc= @@ -1118,6 +1670,8 @@ golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5h golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181026203630-95b1ffbd15a5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190129075346-302c3dd5f1cc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -1130,24 +1684,41 @@ golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20190502175342-a43fa875dd82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190514135907-3a4b5fb9f71f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190522044717-8097e1b27ff5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190530182044-ad28b68e88f1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190602015325-4c4f7f33c9ed/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190606203320-7fc4e5ec1444/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190616124812-15dcb6c0061f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190626221950-04f50cda93cb/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190801041406-cbf593c0f2f3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190804053845-51ab0e2deafa/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190812073006-9eafafc0a87e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190826190057-c7b8b68b1456/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191008105621-543471e840be/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191022100944-742c48ecaeb7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191112214154-59a1497f0cea/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191115151921-52ab43148777/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191210023423-ac6580df4449/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200106162015-b016eb3dc98e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200120151820-655fe14d7479/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200124204421-9fbb57f87de9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200212091648-12a6c2dcc1e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200217220822-9197077df867/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -1155,16 +1726,30 @@ golang.org/x/sys v0.0.0-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20200501052902-10377860bb8e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200519105757-fe76b779f299/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200602225109-6fdc65e7d980/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200622214017-ed371f2e16b4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200728102440-3e129f6d46b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200817155316-9781c653f443/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200828194041-157a740278f4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200831180312-196b9ba8737a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200909081042-eff7692f9009/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200916030750-2334cc1a136f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200922070232-aee5d888a860/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200923182605-d9f96fdee20d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201112073958-5cba982894dd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201117170446-d9b008d0a637/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201202213521-69691e467435/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210104204734-6f8348627aad/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210112080510-489259a85091/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210220050731-9a76102bfb43/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -1174,22 +1759,31 @@ golang.org/x/sys v0.0.0-20210315160823-c6e025ad8005/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210324051608-47abb6519492/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210403161142-5e06dd20ab57/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210423185535-09eb48e85fd7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210426230700-d19ff857e887/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210502180810-71e4cd670f79/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210503080704-8803ae5d1324/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210514084401-e8d321eab015/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210603125802-9665404d3644/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210806184541-e5e7981a1069/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210809222454-d867a43fc93e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210823070655-63515b42dcdf/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210831042530-f4d43177bf5e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210903071746-97244b99971b/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210906170528-6f6e22806c34/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210908233432-aa78b53d3365/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210917161153-d61c044b1678/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211025201205-69cdffdb9359/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211110154304-99a53858aa08/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211116061358-0a5406a5449c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211124211545-fe61309f8881/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211210111614-af8b64212486/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= @@ -1202,7 +1796,10 @@ golang.org/x/sys v0.0.0-20220517195934-5e4e11fc645e/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220823224334-20c2bfdbfe24 h1:TyKJRhyo17yWxOMCTHKWrc5rddHORMlnZ/j57umaUd8= golang.org/x/sys v0.0.0-20220823224334-20c2bfdbfe24/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= +golang.org/x/term v0.0.0-20210220032956-6a3ed077a48d/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= +golang.org/x/term v0.0.0-20210615171337-6886f2dfbf5b/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211 h1:JGgROgKl9N8DuW20oFS5gxc+lE67/N3FcwmBPMe7ArY= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -1215,33 +1812,41 @@ golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= +golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20200416051211-89c76fbcd5d1/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20200630173020-3af7569d3a1e/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20210220033141-f8bda1e9f3ba/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20210723032227-1f47c861a9ac h1:7zkz7BUtwNFFqcowJ+RIgu2MaV/MapERkDIy+mwPyjs= golang.org/x/time v0.0.0-20210723032227-1f47c861a9ac/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20181011042414-1f849cf54d09/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190422233926-fe54fb35175b/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190614205625-5aca471b1d59/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190624222133-a101b041ded4/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190706070813-72ffa07ba3db/go.mod h1:jcCCGcm9btYwXyDqrUWc6MKQKKGJCWEQ3AfLSRIbEuI= golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191029041327-9cc4af7d6b2c/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191108193012-7d206e10da11/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191112195655-aa38f8e97acc/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= @@ -1261,8 +1866,10 @@ golang.org/x/tools v0.0.0-20200304193943-95d2e580d8eb/go.mod h1:o4KQGtdN14AW+yjs golang.org/x/tools v0.0.0-20200312045724-11d5b4c81c7d/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= golang.org/x/tools v0.0.0-20200501065659-ab2804fb9c9d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200505023115-26f46d2f7ef8/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200512131952-2bc93b1c0c88/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200515010526-7d3b6ebf133d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200616133436-c1934b75d054/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200618134242-20370b0cb4b2/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200713011307-fd294ab11aed/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= @@ -1270,9 +1877,11 @@ golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= golang.org/x/tools v0.0.0-20200904185747-39188db58858/go.mod h1:Cj7w3i3Rnn0Xh82ur9kSqwfTHTeVxaDqrfMjpcNT6bE= +golang.org/x/tools v0.0.0-20200916195026-c9a70fc28ce3/go.mod h1:z6u4i615ZeAfBE4XtMziQW1fSVJXACjjbWkB/mvPzlU= golang.org/x/tools v0.0.0-20201110124207-079ba7bd75cd/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20201201161351-ac6f37ff4c2a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20201208233053-a543418bbed2/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210108195828-e2f9c7f1fc8e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= @@ -1288,6 +1897,7 @@ golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +google.golang.org/api v0.0.0-20160322025152-9bf6e6e569ff/go.mod h1:4mhQ8q/RsB7i+udVvVy5NUi08OU8ZlA0gRVgrF7VFY0= google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= @@ -1336,12 +1946,14 @@ google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCID google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= google.golang.org/appengine v1.6.7 h1:FZR1q0exgwxzPzp/aF+VccGrSfxfPpkBqjIIEq3ru6c= google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= +google.golang.org/cloud v0.0.0-20151119220103-975617b05ea8/go.mod h1:0H1ncTHf11KCFhTc/+EFRbzSCOZx+VUbRMk55Yv5MYk= google.golang.org/genproto v0.0.0-20170818010345-ee236bd376b0/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190522204451-c2c4e71fbf69/go.mod h1:z3L6/3dTEVtUr6QSP8miRzeRqwQOioJ9I66odjN4I7s= google.golang.org/genproto v0.0.0-20190708153700-3bdd9d9f5532/go.mod h1:z3L6/3dTEVtUr6QSP8miRzeRqwQOioJ9I66odjN4I7s= google.golang.org/genproto v0.0.0-20190716160619-c506a9f90610/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= @@ -1352,6 +1964,7 @@ google.golang.org/genproto v0.0.0-20191115194625-c23dd37a84c9/go.mod h1:n3cpQtvx google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= google.golang.org/genproto v0.0.0-20200115191322-ca5a22157cba/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20200117163144-32f20d992d24/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= google.golang.org/genproto v0.0.0-20200122232147-0452cf42e150/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= google.golang.org/genproto v0.0.0-20200204135345-fa8e72b47b90/go.mod h1:GmwEX6Z4W5gMy59cAlVYjN9JhxgbQH6Gn+gFDQe2lzA= google.golang.org/genproto v0.0.0-20200212174721-66ed5ce911ce/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= @@ -1361,18 +1974,22 @@ google.golang.org/genproto v0.0.0-20200305110556-506484158171/go.mod h1:55QSHmfG google.golang.org/genproto v0.0.0-20200310143817-43be25429f5a/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200312145019-da6875a35672/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200423170343-7949de9c1215/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200430143042-b979b6f78d84/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200511104702-f5ebc3bea380/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200515170657-fc4c6c6a6587/go.mod h1:YsZOwe1myG/8QRHRsmBRE1LrgQY60beZKjly0O1fX9U= google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= +google.golang.org/genproto v0.0.0-20200527145253-8367513e4ece/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA= google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA= google.golang.org/genproto v0.0.0-20200711021454-869866162049/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20200904004341-0bd0a958aa1d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201019141844-1ed22bb0c154/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20201109203340-2640f1f9cdfb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201110150050-8816d57aaa9a/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20201201144952-b05cb90ed32e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20201210142538-e3217bee35cc/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20201214200347-8c77b98c765d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= @@ -1420,14 +2037,17 @@ google.golang.org/genproto v0.0.0-20220310185008-1973136f34c6/go.mod h1:kGP+zUP2 google.golang.org/genproto v0.0.0-20220324131243-acbaeb5b85eb/go.mod h1:hAL49I2IFola2sVEjAn7MEwsja0xp51I0tlGAf9hz4E= google.golang.org/genproto v0.0.0-20220405205423-9d709892a2bf h1:JTjwKJX9erVpsw17w+OIPP7iAgEkN/r8urhWSunEDTs= google.golang.org/genproto v0.0.0-20220405205423-9d709892a2bf/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= +google.golang.org/grpc v0.0.0-20160317175043-d3ddb4469d5a/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= google.golang.org/grpc v1.8.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= google.golang.org/grpc v1.14.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= +google.golang.org/grpc v1.21.0/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= google.golang.org/grpc v1.22.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= google.golang.org/grpc v1.23.1/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= +google.golang.org/grpc v1.24.0/go.mod h1:XDChyiUovWa60DnaeDeZmSW86xtLtjtZbwvSiRnRtcA= google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= @@ -1450,6 +2070,8 @@ google.golang.org/grpc v1.39.0/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnD google.golang.org/grpc v1.39.1/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE= google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= google.golang.org/grpc v1.40.1/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= +google.golang.org/grpc v1.42.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= +google.golang.org/grpc v1.43.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= google.golang.org/grpc v1.44.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= google.golang.org/grpc v1.45.0/go.mod h1:lN7owxKUQEqMfSyQikvvk5tf/6zMPsrK+ONuO11+0rQ= google.golang.org/grpc v1.48.0 h1:rQOsyJ/8+ufEDJd/Gdsz7HG220Mh9HAhFHRGnIjda0w= @@ -1469,22 +2091,30 @@ google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlba google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.28.0 h1:w43yiav+6bVFTBQFZX0r7ipe9JQ1QsbMgHwbBziscLw= google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +google.golang.org/protobuf v1.28.1 h1:d0NfwRgPtno5B1Wa6L2DAG+KivqkdutMf1UhdNx175w= +google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= gopkg.in/AlecAivazis/survey.v1 v1.8.9-0.20200217094205-6773bdf39b7f h1:AQkMzsSzHWrgZWqGRpuRaRPDmyNibcXlpGcnQJ7HxZw= gopkg.in/AlecAivazis/survey.v1 v1.8.9-0.20200217094205-6773bdf39b7f/go.mod h1:CaHjv79TCgAvXMSFJSVgonHXYWxnhzI3eoHtnX5UgUo= gopkg.in/airbrake/gobrake.v2 v2.0.9/go.mod h1:/h5ZAUhDkGaJfjzjKLSjv6zCL6O0LLBxU4K+aSYdM/U= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20141024133853-64131543e789/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= +gopkg.in/cheggaaa/pb.v1 v1.0.25/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qStrOgw= gopkg.in/cheggaaa/pb.v1 v1.0.27/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qStrOgw= gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= gopkg.in/gemnasium/logrus-airbrake-hook.v2 v2.1.2/go.mod h1:Xk6kEKp8OKb+X14hQBKWaSkCsqBpgog8nAV2xsGOxlo= +gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= +gopkg.in/ini.v1 v1.51.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= +gopkg.in/natefinch/lumberjack.v2 v2.0.0/go.mod h1:l0ndWWf7gzL7RNwBG7wST/UCcT4T24xpD6X8LsfU/+k= +gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo= +gopkg.in/square/go-jose.v2 v2.2.2/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= gopkg.in/square/go-jose.v2 v2.3.1/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= gopkg.in/square/go-jose.v2 v2.5.1/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= gopkg.in/square/go-jose.v2 v2.6.0 h1:NGk74WTnPKBNUhNzQX7PYcTLUjoq7mzKk2OKbvwk2iI= @@ -1492,6 +2122,7 @@ gopkg.in/square/go-jose.v2 v2.6.0/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76 gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= gopkg.in/warnings.v0 v0.1.2 h1:wFXVbFY8DY5/xOe1ECiWdKCzZlxgshcYVNkBHstARME= gopkg.in/warnings.v0 v0.1.2/go.mod h1:jksf8JmL6Qr/oQM2OXTHunEvvTAsrWBLb6OOjuVWRNI= +gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74= gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= @@ -1502,13 +2133,16 @@ gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gotest.tools v2.2.0+incompatible h1:VsBPFP1AI068pPrMxtb/S8Zkgf9xEmTLJjfM+P5UIEo= gotest.tools v2.2.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw= -gotest.tools/v3 v3.0.2 h1:kG1BFyqVHuQoVQiR1bWGnfz/fmHvvuiSPIV7rvl360E= +gotest.tools/gotestsum v1.7.0/go.mod h1:V1m4Jw3eBerhI/A6qCxUE07RnCg7ACkKj9BYcAm09V8= gotest.tools/v3 v3.0.2/go.mod h1:3SzNCllyD9/Y+b5r9JIKQ474KzkZyqLqEfYqMsX94Bk= +gotest.tools/v3 v3.0.3 h1:4AuOwCGf4lLR9u3YOe2awrHygurzhO/HeQ6laiA6Sx0= +gotest.tools/v3 v3.0.3/go.mod h1:Z7Lb0S5l+klDB31fvDQX8ss/FlKDxtlFlw3Oa8Ymbl8= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= @@ -1516,6 +2150,49 @@ honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWh honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= +k8s.io/api v0.20.1/go.mod h1:KqwcCVogGxQY3nBlRpwt+wpAMF/KjaCc7RpywacvqUo= +k8s.io/api v0.20.4/go.mod h1:++lNL1AJMkDymriNniQsWRkMDzRaX2Y/POTUi8yvqYQ= +k8s.io/api v0.20.6/go.mod h1:X9e8Qag6JV/bL5G6bU8sdVRltWKmdHsFUGS3eVndqE8= +k8s.io/api v0.22.5/go.mod h1:mEhXyLaSD1qTOf40rRiKXkc+2iCem09rWLlFwhCEiAs= +k8s.io/apimachinery v0.20.1/go.mod h1:WlLqWAHZGg07AeltaI0MV5uk1Omp8xaN0JGLY6gkRpU= +k8s.io/apimachinery v0.20.4/go.mod h1:WlLqWAHZGg07AeltaI0MV5uk1Omp8xaN0JGLY6gkRpU= +k8s.io/apimachinery v0.20.6/go.mod h1:ejZXtW1Ra6V1O5H8xPBGz+T3+4gfkTCeExAHKU57MAc= +k8s.io/apimachinery v0.22.1/go.mod h1:O3oNtNadZdeOMxHFVxOreoznohCpy0z6mocxbZr7oJ0= +k8s.io/apimachinery v0.22.5/go.mod h1:xziclGKwuuJ2RM5/rSFQSYAj0zdbci3DH8kj+WvyN0U= +k8s.io/apiserver v0.20.1/go.mod h1:ro5QHeQkgMS7ZGpvf4tSMx6bBOgPfE+f52KwvXfScaU= +k8s.io/apiserver v0.20.4/go.mod h1:Mc80thBKOyy7tbvFtB4kJv1kbdD0eIH8k8vianJcbFM= +k8s.io/apiserver v0.20.6/go.mod h1:QIJXNt6i6JB+0YQRNcS0hdRHJlMhflFmsBDeSgT1r8Q= +k8s.io/apiserver v0.22.5/go.mod h1:s2WbtgZAkTKt679sYtSudEQrTGWUSQAPe6MupLnlmaQ= +k8s.io/client-go v0.20.1/go.mod h1:/zcHdt1TeWSd5HoUe6elJmHSQ6uLLgp4bIJHVEuy+/Y= +k8s.io/client-go v0.20.4/go.mod h1:LiMv25ND1gLUdBeYxBIwKpkSC5IsozMMmOOeSJboP+k= +k8s.io/client-go v0.20.6/go.mod h1:nNQMnOvEUEsOzRRFIIkdmYOjAZrC8bgq0ExboWSU1I0= +k8s.io/client-go v0.22.5/go.mod h1:cs6yf/61q2T1SdQL5Rdcjg9J1ElXSwbjSrW2vFImM4Y= +k8s.io/code-generator v0.19.7/go.mod h1:lwEq3YnLYb/7uVXLorOJfxg+cUu2oihFhHZ0n9NIla0= +k8s.io/component-base v0.20.1/go.mod h1:guxkoJnNoh8LNrbtiQOlyp2Y2XFCZQmrcg2n/DeYNLk= +k8s.io/component-base v0.20.4/go.mod h1:t4p9EdiagbVCJKrQ1RsA5/V4rFQNDfRlevJajlGwgjI= +k8s.io/component-base v0.20.6/go.mod h1:6f1MPBAeI+mvuts3sIdtpjljHWBQ2cIy38oBIWMYnrM= +k8s.io/component-base v0.22.5/go.mod h1:VK3I+TjuF9eaa+Ln67dKxhGar5ynVbwnGrUiNF4MqCI= +k8s.io/cri-api v0.17.3/go.mod h1:X1sbHmuXhwaHs9xxYffLqJogVsnI+f6cPRcgPel7ywM= +k8s.io/cri-api v0.20.1/go.mod h1:2JRbKt+BFLTjtrILYVqQK5jqhI+XNdF6UiGMgczeBCI= +k8s.io/cri-api v0.20.4/go.mod h1:2JRbKt+BFLTjtrILYVqQK5jqhI+XNdF6UiGMgczeBCI= +k8s.io/cri-api v0.20.6/go.mod h1:ew44AjNXwyn1s0U4xCKGodU7J1HzBeZ1MpGrpa5r8Yc= +k8s.io/cri-api v0.23.1/go.mod h1:REJE3PSU0h/LOV1APBrupxrEJqnoxZC8KWzkBUHwrK4= +k8s.io/gengo v0.0.0-20200413195148-3a45101e95ac/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0= +k8s.io/gengo v0.0.0-20200428234225-8167cfdcfc14/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0= +k8s.io/gengo v0.0.0-20201113003025-83324d819ded/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E= +k8s.io/klog/v2 v2.0.0/go.mod h1:PBfzABfn139FHAV07az/IF9Wp1bkk3vpT2XSJ76fSDE= +k8s.io/klog/v2 v2.2.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y= +k8s.io/klog/v2 v2.4.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y= +k8s.io/klog/v2 v2.9.0/go.mod h1:hy9LJ/NvuK+iVyP4Ehqva4HxZG/oXyIS3n3Jmire4Ec= +k8s.io/klog/v2 v2.30.0/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= +k8s.io/kube-openapi v0.0.0-20200805222855-6aeccd4b50c6/go.mod h1:UuqjUnNftUyPE5H64/qeyjQoUZhGpeFDVdxjTeEVN2o= +k8s.io/kube-openapi v0.0.0-20201113171705-d219536bb9fd/go.mod h1:WOJ3KddDSol4tAGcJo0Tvi+dK12EcqSLqcWsryKMpfM= +k8s.io/kube-openapi v0.0.0-20210421082810-95288971da7e/go.mod h1:vHXdDvt9+2spS2Rx9ql3I8tycm3H9FDfdUoIuKCefvw= +k8s.io/kube-openapi v0.0.0-20211109043538-20434351676c/go.mod h1:vHXdDvt9+2spS2Rx9ql3I8tycm3H9FDfdUoIuKCefvw= +k8s.io/kubernetes v1.13.0/go.mod h1:ocZa8+6APFNC2tX1DZASIbocyYT5jHzqFVsY5aoB7Jk= +k8s.io/utils v0.0.0-20201110183641-67b214c5f920/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= +k8s.io/utils v0.0.0-20210819203725-bdf08cb9a70a/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= +k8s.io/utils v0.0.0-20210930125809-cb0fa318a74b/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= lukechampine.com/frand v1.4.2 h1:RzFIpOvkMXuPMBb9maa4ND4wjBn71E1Jpf8BzJHMaVw= lukechampine.com/frand v1.4.2/go.mod h1:4S/TM2ZgrKejMcKMbeLjISpJMO+/eZ1zu3vYX9dtj3s= mvdan.cc/gofumpt v0.1.0 h1:hsVv+Y9UsZ/mFZTxJZuHVI6shSQCtzZ11h1JEFPAZLw= @@ -1525,5 +2202,14 @@ pgregory.net/rapid v0.4.7 h1:MTNRktPuv5FNqOO151TM9mDTa+XHcX6ypYeISDVD14g= rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= +sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.14/go.mod h1:LEScyzhFmoF5pso/YSeBstl57mOzx9xlU9n85RGrDQg= +sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.15/go.mod h1:LEScyzhFmoF5pso/YSeBstl57mOzx9xlU9n85RGrDQg= +sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.22/go.mod h1:LEScyzhFmoF5pso/YSeBstl57mOzx9xlU9n85RGrDQg= +sigs.k8s.io/structured-merge-diff/v4 v4.0.1/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK1F7G282QMXDPYydCw= +sigs.k8s.io/structured-merge-diff/v4 v4.0.2/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK1F7G282QMXDPYydCw= +sigs.k8s.io/structured-merge-diff/v4 v4.0.3/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK1F7G282QMXDPYydCw= +sigs.k8s.io/structured-merge-diff/v4 v4.1.2/go.mod h1:j/nl6xW8vLS49O8YvXW1ocPhZawJtm+Yrr7PPRQ0Vg4= +sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o= +sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc= sourcegraph.com/sourcegraph/appdash v0.0.0-20211028080628-e2786a622600 h1:hfyJ5ku9yFtLVOiSxa3IN+dx5eBQT9mPmKFypAmg8XM= sourcegraph.com/sourcegraph/appdash v0.0.0-20211028080628-e2786a622600/go.mod h1:hI742Nqp5OhwiqlzhgfbWU4mW4yO10fP+LoT9WOswdU= diff --git a/provider/resources.go b/provider/resources.go index 0f89c420..1dae3638 100644 --- a/provider/resources.go +++ b/provider/resources.go @@ -84,6 +84,9 @@ func Provider() tfbridge.ProviderInfo { Fields: map[string]*tfbridge.SchemaInfo{ "display_name": tfbridge.AutoName("displayName", 255, "-"), }}, + "confluent_identity_pool": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "IdentityPool")}, + "confluent_identity_provider": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "IdentityProvider")}, + "confluent_ksql_cluster": {Tok: tfbridge.MakeResource(mainPkg, mainMod, "KsqlCluster")}, }, DataSources: map[string]*tfbridge.DataSourceInfo{ "confluent_environment": {Tok: tfbridge.MakeDataSource(mainPkg, mainMod, "getEnvironment")}, @@ -96,6 +99,9 @@ func Provider() tfbridge.ProviderInfo { "confluent_peering": {Tok: tfbridge.MakeDataSource(mainPkg, mainMod, "getPeering")}, "confluent_private_link_access": {Tok: tfbridge.MakeDataSource(mainPkg, mainMod, "getPrivateLinkAccess")}, "confluent_role_binding": {Tok: tfbridge.MakeDataSource(mainPkg, mainMod, "getRoleBinding")}, + "confluent_identity_pool": {Tok: tfbridge.MakeDataSource(mainPkg, mainMod, "getIdentityPool")}, + "confluent_identity_provider": {Tok: tfbridge.MakeDataSource(mainPkg, mainMod, "getIdentityProvider")}, + "confluent_ksql_cluster": {Tok: tfbridge.MakeDataSource(mainPkg, mainMod, "getKsqlCluster")}, }, JavaScript: &tfbridge.JavaScriptInfo{ Dependencies: map[string]string{ diff --git a/provider/shim/go.mod b/provider/shim/go.mod index 7f7ab9f7..d4359dcb 100644 --- a/provider/shim/go.mod +++ b/provider/shim/go.mod @@ -7,25 +7,39 @@ require ( github.com/hashicorp/terraform-plugin-sdk/v2 v2.16.0 ) -replace github.com/confluentinc/terraform-provider-confluent => github.com/pulumi/terraform-provider-confluent v0.0.0-20220913130044-4dc69b9e3c05 +replace github.com/confluentinc/terraform-provider-confluent => github.com/pulumi/terraform-provider-confluent v0.0.0-20220913141559-0af345d42281 require ( + github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 // indirect + github.com/Microsoft/go-winio v0.5.1 // indirect + github.com/Microsoft/hcsshim v0.9.3 // indirect github.com/agext/levenshtein v1.2.2 // indirect github.com/antihax/optional v1.0.0 // indirect github.com/apparentlymart/go-textseg/v13 v13.0.0 // indirect + github.com/cenkalti/backoff/v4 v4.1.2 // indirect github.com/confluentinc/ccloud-sdk-go-v2/apikeys v0.3.0 // indirect github.com/confluentinc/ccloud-sdk-go-v2/cmk v0.6.0 // indirect github.com/confluentinc/ccloud-sdk-go-v2/connect v0.2.0 // indirect github.com/confluentinc/ccloud-sdk-go-v2/iam v0.7.0 // indirect github.com/confluentinc/ccloud-sdk-go-v2/identity-provider v0.2.0 // indirect github.com/confluentinc/ccloud-sdk-go-v2/kafkarest v0.3.0 // indirect + github.com/confluentinc/ccloud-sdk-go-v2/ksql v0.1.0 // indirect github.com/confluentinc/ccloud-sdk-go-v2/mds v0.3.0 // indirect - github.com/confluentinc/ccloud-sdk-go-v2/networking v0.2.0 // indirect + github.com/confluentinc/ccloud-sdk-go-v2/networking v0.3.0 // indirect github.com/confluentinc/ccloud-sdk-go-v2/org v0.4.0 // indirect + github.com/containerd/cgroups v1.0.3 // indirect + github.com/containerd/containerd v1.6.1 // indirect github.com/davecgh/go-spew v1.1.1 // indirect + github.com/docker/distribution v2.7.1+incompatible // indirect + github.com/docker/docker v20.10.11+incompatible // indirect + github.com/docker/go-connections v0.4.0 // indirect + github.com/docker/go-units v0.4.0 // indirect github.com/fatih/color v1.10.0 // indirect + github.com/gogo/protobuf v1.3.2 // indirect + github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect github.com/golang/protobuf v1.5.2 // indirect github.com/google/go-cmp v0.5.8 // indirect + github.com/google/uuid v1.3.0 // indirect github.com/hashicorp/errwrap v1.1.0 // indirect github.com/hashicorp/go-checkpoint v0.5.0 // indirect github.com/hashicorp/go-cleanhttp v0.5.2 // indirect @@ -46,6 +60,7 @@ require ( github.com/hashicorp/terraform-registry-address v0.0.0-20210412075316-9b2996cce896 // indirect github.com/hashicorp/terraform-svchost v0.0.0-20200729002733-f050f53b9734 // indirect github.com/hashicorp/yamux v0.0.0-20181012175058-2f1d1f20f75d // indirect + github.com/magiconair/properties v1.8.5 // indirect github.com/mattn/go-colorable v0.1.8 // indirect github.com/mattn/go-isatty v0.0.12 // indirect github.com/mitchellh/copystructure v1.2.0 // indirect @@ -53,12 +68,24 @@ require ( github.com/mitchellh/go-wordwrap v1.0.0 // indirect github.com/mitchellh/mapstructure v1.5.0 // indirect github.com/mitchellh/reflectwalk v1.0.2 // indirect + github.com/moby/sys/mount v0.2.0 // indirect + github.com/moby/sys/mountinfo v0.5.0 // indirect + github.com/moby/term v0.0.0-20210619224110-3f7ff695adc6 // indirect + github.com/morikuni/aec v1.0.0 // indirect github.com/oklog/run v1.0.0 // indirect + github.com/opencontainers/go-digest v1.0.0 // indirect + github.com/opencontainers/image-spec v1.0.3-0.20211202183452-c5a74bcca799 // indirect + github.com/opencontainers/runc v1.1.2 // indirect + github.com/pkg/errors v0.9.1 // indirect github.com/samber/lo v1.20.0 // indirect + github.com/sirupsen/logrus v1.8.1 // indirect + github.com/testcontainers/testcontainers-go v0.13.0 // indirect github.com/vmihailenco/msgpack v4.0.4+incompatible // indirect github.com/vmihailenco/msgpack/v4 v4.3.12 // indirect github.com/vmihailenco/tagparser v0.1.1 // indirect + github.com/walkerus/go-wiremock v1.2.0 // indirect github.com/zclconf/go-cty v1.10.0 // indirect + go.opencensus.io v0.23.0 // indirect golang.org/x/crypto v0.0.0-20210817164053-32db794688a5 // indirect golang.org/x/exp v0.0.0-20220303212507-bbda1eaf7a17 // indirect golang.org/x/net v0.0.0-20211216030914-fe4d6282115f // indirect @@ -69,4 +96,5 @@ require ( google.golang.org/genproto v0.0.0-20211208223120-3a66f561d7aa // indirect google.golang.org/grpc v1.45.0 // indirect google.golang.org/protobuf v1.28.0 // indirect + gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b // indirect ) diff --git a/provider/shim/go.sum b/provider/shim/go.sum index b555519a..ff010813 100644 --- a/provider/shim/go.sum +++ b/provider/shim/go.sum @@ -1,3 +1,5 @@ +bazil.org/fuse v0.0.0-20160811212531-371fbbdaa898/go.mod h1:Xbm+BRKSBEpa4q4hTSxohYNQpsxXPbPry4JJWOB3LB8= +bazil.org/fuse v0.0.0-20200407214033-5883e5a4b512/go.mod h1:FbcW6z/2VytnFDhZfumh8Ss8zxHE6qpMP5sHTRe0EaM= cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU= @@ -13,6 +15,11 @@ cloud.google.com/go v0.56.0/go.mod h1:jr7tqZxxKOVYizybht9+26Z/gUq7tiRzu+ACVAMbKV cloud.google.com/go v0.57.0/go.mod h1:oXiQ6Rzq3RAkkY7N6t3TcE6jE+CIBBbA36lwQ1JyzZs= cloud.google.com/go v0.62.0/go.mod h1:jmCYTdRCQuc1PHIIJ/maLInMho30T/Y0M4hTdTShOYc= cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHObY= +cloud.google.com/go v0.72.0/go.mod h1:M+5Vjvlc2wnp6tjzE102Dw08nGShTscUx2nZMufOKPI= +cloud.google.com/go v0.74.0/go.mod h1:VV1xSbzvo+9QJOxLDaJfTjx5e+MePCpCWwvftOeQmWk= +cloud.google.com/go v0.78.0/go.mod h1:QjdrLG0uq+YwhjoVOLsS1t7TW8fs36kLs4XO5R5ECHg= +cloud.google.com/go v0.79.0/go.mod h1:3bzgcEeQlzbuEAYu4mrWhKqWjmpprinYgKJLgKHnbb8= +cloud.google.com/go v0.81.0/go.mod h1:mk/AM35KwGk/Nm2YSeZbxXdrNK3KZOYHmLkOqC2V6E0= cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc= @@ -21,6 +28,7 @@ cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4g cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ= cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= +cloud.google.com/go/firestore v1.1.0/go.mod h1:ulACoGHTpvq5r8rxGJ4ddJZBZqakUQqClKRT5SZwBmk= cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA= @@ -31,21 +39,74 @@ cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohl cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs= cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= +github.com/AdaLogics/go-fuzz-headers v0.0.0-20210715213245-6c3934b029d8/go.mod h1:CzsSbkDixRphAF5hS6wbMKq0eI6ccJRb7/A0M6JBnwg= +github.com/Azure/azure-sdk-for-go v16.2.1+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= +github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78/go.mod h1:LmzpDX56iTiv29bbRTIsUNlaFfuhWRQBWjQdVyAevI8= +github.com/Azure/go-ansiterm v0.0.0-20210608223527-2377c96fe795/go.mod h1:LmzpDX56iTiv29bbRTIsUNlaFfuhWRQBWjQdVyAevI8= github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 h1:UQHMgLO+TxOElx5B5HZ4hJQsoJ/PvUvKRhJHDQXO8P8= +github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E= +github.com/Azure/go-autorest v10.8.1+incompatible/go.mod h1:r+4oMnoxhatjLLJ6zxSWATqVooLgysK6ZNox3g/xq24= +github.com/Azure/go-autorest v14.2.0+incompatible/go.mod h1:r+4oMnoxhatjLLJ6zxSWATqVooLgysK6ZNox3g/xq24= +github.com/Azure/go-autorest/autorest v0.11.1/go.mod h1:JFgpikqFJ/MleTTxwepExTKnFUKKszPS8UavbQYUMuw= +github.com/Azure/go-autorest/autorest v0.11.18/go.mod h1:dSiJPy22c3u0OtOKDNttNgqpNFY/GeWa7GH/Pz56QRA= +github.com/Azure/go-autorest/autorest/adal v0.9.0/go.mod h1:/c022QCutn2P7uY+/oQWWNcK9YU+MH96NgK+jErpbcg= +github.com/Azure/go-autorest/autorest/adal v0.9.5/go.mod h1:B7KF7jKIeC9Mct5spmyCB/A8CG/sEz1vwIRGv/bbw7A= +github.com/Azure/go-autorest/autorest/adal v0.9.13/go.mod h1:W/MM4U6nLxnIskrw4UwWzlHfGjwUS50aOsc/I3yuU8M= +github.com/Azure/go-autorest/autorest/date v0.3.0/go.mod h1:BI0uouVdmngYNUzGWeSYnokU+TrmwEsOqdt8Y6sso74= +github.com/Azure/go-autorest/autorest/mocks v0.4.0/go.mod h1:LTp+uSrOhSkaKrUy935gNZuuIPPVsHlr9DSOxSayd+k= +github.com/Azure/go-autorest/autorest/mocks v0.4.1/go.mod h1:LTp+uSrOhSkaKrUy935gNZuuIPPVsHlr9DSOxSayd+k= +github.com/Azure/go-autorest/logger v0.2.0/go.mod h1:T9E3cAhj2VqvPOtCYAvby9aBXkZmbF5NWuPV8+WeEW8= +github.com/Azure/go-autorest/logger v0.2.1/go.mod h1:T9E3cAhj2VqvPOtCYAvby9aBXkZmbF5NWuPV8+WeEW8= +github.com/Azure/go-autorest/tracing v0.6.0/go.mod h1:+vhtPC754Xsa23ID7GlGsrdKBpUA79WCAKPPZVC2DeU= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= +github.com/Microsoft/go-winio v0.4.11/go.mod h1:VhR8bwka0BXejwEJY73c50VrPtXAaKcyvVC4A4RozmA= github.com/Microsoft/go-winio v0.4.14/go.mod h1:qXqCSQ3Xa7+6tgxaGTIe4Kpcdsi+P8jBhyzoq1bpyYA= +github.com/Microsoft/go-winio v0.4.15-0.20190919025122-fc70bd9a86b5/go.mod h1:tTuCMEN+UleMWgg9dVx4Hu52b1bJo+59jBh3ajtinzw= +github.com/Microsoft/go-winio v0.4.16-0.20201130162521-d1ffc52c7331/go.mod h1:XB6nPKklQyQ7GC9LdcBEcBl8PF76WugXOPRXwdLnMv0= github.com/Microsoft/go-winio v0.4.16/go.mod h1:XB6nPKklQyQ7GC9LdcBEcBl8PF76WugXOPRXwdLnMv0= +github.com/Microsoft/go-winio v0.4.17-0.20210211115548-6eac466e5fa3/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= +github.com/Microsoft/go-winio v0.4.17-0.20210324224401-5516f17a5958/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= +github.com/Microsoft/go-winio v0.4.17/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= github.com/Microsoft/go-winio v0.5.1 h1:aPJp2QD7OOrhO5tQXqQoGSJc+DjDtWTGLOmNyAm6FgY= +github.com/Microsoft/go-winio v0.5.1/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= +github.com/Microsoft/hcsshim v0.8.6/go.mod h1:Op3hHsoHPAvb6lceZHDtd9OkTew38wNoXnJs8iY7rUg= +github.com/Microsoft/hcsshim v0.8.7-0.20190325164909-8abdbb8205e4/go.mod h1:Op3hHsoHPAvb6lceZHDtd9OkTew38wNoXnJs8iY7rUg= +github.com/Microsoft/hcsshim v0.8.7/go.mod h1:OHd7sQqRFrYd3RmSgbgji+ctCwkbq2wbEYNSzOYtcBQ= +github.com/Microsoft/hcsshim v0.8.9/go.mod h1:5692vkUqntj1idxauYlpoINNKeqCiG6Sg38RRsjT5y8= +github.com/Microsoft/hcsshim v0.8.14/go.mod h1:NtVKoYxQuTLx6gEq0L96c9Ju4JbRJ4nY2ow3VK6a9Lg= +github.com/Microsoft/hcsshim v0.8.15/go.mod h1:x38A4YbHbdxJtc0sF6oIz+RG0npwSCAvn69iY6URG00= +github.com/Microsoft/hcsshim v0.8.16/go.mod h1:o5/SZqmR7x9JNKsW3pu+nqHm0MF8vbA+VxGOoXdC600= +github.com/Microsoft/hcsshim v0.8.20/go.mod h1:+w2gRZ5ReXQhFOrvSQeNfhrYB/dg3oDwTOcER2fw4I4= +github.com/Microsoft/hcsshim v0.8.21/go.mod h1:+w2gRZ5ReXQhFOrvSQeNfhrYB/dg3oDwTOcER2fw4I4= +github.com/Microsoft/hcsshim v0.8.23/go.mod h1:4zegtUJth7lAvFyc6cH2gGQ5B3OFQim01nnU2M8jKDg= +github.com/Microsoft/hcsshim v0.9.2/go.mod h1:7pLA8lDk46WKDWlVsENo92gC0XFa8rbKfyFRBqxEbCc= github.com/Microsoft/hcsshim v0.9.3 h1:k371PzBuRrz2b+ebGuI2nVgVhgsVX60jMfSw80NECxo= +github.com/Microsoft/hcsshim v0.9.3/go.mod h1:7pLA8lDk46WKDWlVsENo92gC0XFa8rbKfyFRBqxEbCc= +github.com/Microsoft/hcsshim/test v0.0.0-20201218223536-d3e5debf77da/go.mod h1:5hlzMzRKMLyo42nCZ9oml8AdTlq/0cvIaBv6tK1RehU= +github.com/Microsoft/hcsshim/test v0.0.0-20210227013316-43a75bb4edd3/go.mod h1:mw7qgWloBUl75W/gVH3cQszUg1+gUITj7D6NY7ywVnY= +github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46/go.mod h1:3wb06e3pkSAbeQ52E9H9iFoQsEEwGN64994WTCIhntQ= +github.com/NYTimes/gziphandler v1.1.1/go.mod h1:n/CVRwUEOgIxrgPvAQhUUr9oeUtvrhMomdKFjzJNB0c= github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= github.com/ProtonMail/go-crypto v0.0.0-20210428141323-04723f9f07d7 h1:YoJbenK9C67SkzkDfmQuVln04ygHj3vjZfd9FL+GmQQ= github.com/ProtonMail/go-crypto v0.0.0-20210428141323-04723f9f07d7/go.mod h1:z4/9nQmJSSwwds7ejkxaJwO37dru3geImFUdJlaLzQo= +github.com/PuerkitoBio/purell v1.0.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= +github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= +github.com/PuerkitoBio/urlesc v0.0.0-20160726150825-5bd2802263f2/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= +github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= +github.com/Shopify/logrus-bugsnag v0.0.0-20171204204709-577dee27f20d/go.mod h1:HI8ITrYtUY+O+ZhtlqUnD8+KwNPOyugEhfP9fdUIaEQ= github.com/acomagu/bufpipe v1.0.3 h1:fxAGrHZTgQ9w5QqVItgzwj235/uYZYgbXitB+dLupOk= github.com/acomagu/bufpipe v1.0.3/go.mod h1:mxdxdup/WdsKVreO5GpW4+M/1CE2sMG4jeGJ2sYmHc4= github.com/agext/levenshtein v1.2.1/go.mod h1:JEDfjyjHDjOF/1e4FlBE/PkbqA9OfWu2ki2W0IB5558= github.com/agext/levenshtein v1.2.2 h1:0S/Yg6LYmFJ5stwQeRp6EeOcCbj7xiqQSdNelsXvaqE= github.com/agext/levenshtein v1.2.2/go.mod h1:JEDfjyjHDjOF/1e4FlBE/PkbqA9OfWu2ki2W0IB5558= +github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= +github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= +github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= +github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= +github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho= +github.com/alexflint/go-filemutex v0.0.0-20171022225611-72bdc8eae2ae/go.mod h1:CgnQgUtFrFz9mxFNtED3jI5tLDjKlOM+oUF/sTk6ps0= +github.com/alexflint/go-filemutex v1.1.0/go.mod h1:7P4iRhttt/nUvUOrYIhcpMzv2G6CY9UnI16Z+UJqRyk= github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239/go.mod h1:2FmKhYUyUczH0OGQWaF5ceTx0UBShxjsH6f8oGKYe2c= github.com/antihax/optional v1.0.0 h1:xK2lYat7ZLaVVcIuj82J8kIro4V6kDe0AUDFboUCwcg= github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= @@ -55,22 +116,65 @@ github.com/apparentlymart/go-textseg v1.0.0/go.mod h1:z96Txxhf3xSFMPmb5X/1W05FF/ github.com/apparentlymart/go-textseg/v12 v12.0.0/go.mod h1:S/4uRK2UtaQttw1GenVJEynmyUenKwP++x/+DdGV/Ec= github.com/apparentlymart/go-textseg/v13 v13.0.0 h1:Y+KvPE1NYz0xl601PVImeQfFyEy6iT90AvPUL1NNfNw= github.com/apparentlymart/go-textseg/v13 v13.0.0/go.mod h1:ZK2fH7c4NqDTLtiYLvIkEghdlcqw7yxLeM89kiTRPUo= +github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= +github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8= +github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY= +github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs= +github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY= +github.com/aws/aws-sdk-go v1.15.11/go.mod h1:mFuSZ37Z9YOHbQEwBWztmVzqXrEkub65tZoCYDt7FT0= +github.com/benbjohnson/clock v1.0.3/go.mod h1:bGMdMPoPVvcYyt1gHDf4J2KE153Yf9BuiUKYMaxlTDM= +github.com/beorn7/perks v0.0.0-20160804104726-4c0e84591b9a/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= +github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= +github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= +github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= +github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= +github.com/bitly/go-simplejson v0.5.0/go.mod h1:cXHtHw4XUPsvGaxgjIAn8PhEWG9NfngEKAMDJEczWVA= +github.com/bits-and-blooms/bitset v1.2.0/go.mod h1:gIdJ4wp64HaoK2YrL1Q5/N7Y16edYb8uY+O0FJTyyDA= +github.com/bketelsen/crypt v0.0.3-0.20200106085610-5cbc8cc4026c/go.mod h1:MKsuJmJgSg28kpZDP6UIiPt0e0Oz0kqKNGyRaWEPv84= +github.com/blang/semver v3.1.0+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk= +github.com/blang/semver v3.5.1+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk= +github.com/bmizerany/assert v0.0.0-20160611221934-b7ed37b82869/go.mod h1:Ekp36dRnpXw/yCqJaO+ZrUyxD+3VXMFFr56k5XYrpB4= +github.com/bshuster-repo/logrus-logstash-hook v0.4.1/go.mod h1:zsTqEiSzDgAa/8GZR7E1qaXrhYNDKBYy5/dWPTIflbk= +github.com/buger/jsonparser v0.0.0-20180808090653-f4dd9f5a6b44/go.mod h1:bbYlZJ7hK1yFx9hf58LP0zeX7UjIGs20ufpu3evjr+s= +github.com/buger/jsonparser v1.1.1/go.mod h1:6RYKKt7H4d4+iWqouImQ9R2FZql3VbhNgx27UK13J/0= +github.com/bugsnag/bugsnag-go v0.0.0-20141110184014-b1d153021fcd/go.mod h1:2oa8nejYd4cQ/b0hMIopN0lCRxU0bueqREvZLWFrtK8= +github.com/bugsnag/osext v0.0.0-20130617224835-0dd3f918b21b/go.mod h1:obH5gd0BsqsP2LwDJ9aOkm/6J86V6lyAXCoQWGw3K50= +github.com/bugsnag/panicwrap v0.0.0-20151223152923-e2c28503fcd0/go.mod h1:D/8v3kj0zr8ZAKg1AQ6crr+5VwKN5eIywRkfhyM/+dE= +github.com/cenkalti/backoff/v4 v4.1.1/go.mod h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInqkPWOWmG2CLw= github.com/cenkalti/backoff/v4 v4.1.2 h1:6Yo7N8UP2K6LWZnW94DLVSSrbobcWdVzAYOisuDPIFo= +github.com/cenkalti/backoff/v4 v4.1.2/go.mod h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInqkPWOWmG2CLw= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= +github.com/certifi/gocertifi v0.0.0-20191021191039-0944d244cd40/go.mod h1:sGbDF6GwGcLpkNXPUTkMRoywsNa/ol15pxFe6ERfguA= +github.com/certifi/gocertifi v0.0.0-20200922220541-2c3bb06c6054/go.mod h1:sGbDF6GwGcLpkNXPUTkMRoywsNa/ol15pxFe6ERfguA= github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= +github.com/cespare/xxhash/v2 v2.1.2/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= +github.com/checkpoint-restore/go-criu/v4 v4.1.0/go.mod h1:xUQBLp4RLc5zJtWY++yjOoMoB5lihDt7fai+75m+rGw= +github.com/checkpoint-restore/go-criu/v5 v5.0.0/go.mod h1:cfwC0EG7HMUenopBsUf9d89JlCLQIfgVcNsNN0t6T2M= +github.com/checkpoint-restore/go-criu/v5 v5.3.0/go.mod h1:E/eQpaFtUKGOOSEBZgmKAcn+zUUwWxqcaKZlF54wK8E= github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= +github.com/cilium/ebpf v0.0.0-20200110133405-4032b1d8aae3/go.mod h1:MA5e5Lr8slmEg9bt0VpxxWqJlO4iwu3FBdHUzV7wQVg= +github.com/cilium/ebpf v0.0.0-20200702112145-1c8d4c9ef775/go.mod h1:7cR51M8ViRLIdUjrmSXlK9pkrsDlLHbO8jiB8X8JnOc= +github.com/cilium/ebpf v0.2.0/go.mod h1:To2CFviqOWL/M0gIMsvSMlqe7em/l1ALkX1PyjrX2Qs= +github.com/cilium/ebpf v0.4.0/go.mod h1:4tRaxcgiL706VnOzHOdBlY8IEAIdxINsQBcU4xJJXRs= +github.com/cilium/ebpf v0.6.2/go.mod h1:4tRaxcgiL706VnOzHOdBlY8IEAIdxINsQBcU4xJJXRs= +github.com/cilium/ebpf v0.7.0/go.mod h1:/oI2+1shJiTGAMgl6/RgJr36Eo1jzrRcAWbcXO2usCA= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= +github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/cncf/udpa/go v0.0.0-20210930031921-04548b0d99d4/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI= github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20210805033703-aa0b78936158/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20210922020428-25de7278fc84/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa/go.mod h1:zn76sxSg3SzpJ0PPJaLDCu+Bu0Lg3sKTORVIj19EIF8= +github.com/cockroachdb/datadriven v0.0.0-20200714090401-bf6692d28da5/go.mod h1:h6jFvWxBdQXxjopDMZyH2UVceIRfR84bdzbkoKrsWNo= +github.com/cockroachdb/errors v1.2.4/go.mod h1:rQD95gz6FARkaKkQXUksEje/d9a6wBJoCr5oaCLELYA= +github.com/cockroachdb/logtags v0.0.0-20190617123548-eb05cc24525f/go.mod h1:i/u985jwjWRlyHXQbwatDASoW0RMlZ/3i9yJHE2xLkI= github.com/confluentinc/ccloud-sdk-go-v2/apikeys v0.3.0 h1:7AixGTQ3QRYRfmVEJRIs06e0kWuHtc3ObxUr4HZx3p0= github.com/confluentinc/ccloud-sdk-go-v2/apikeys v0.3.0/go.mod h1:wNa9Qg2e2v/+PQsUyKh+qB22hhLkPR6Ahy6rP+1jmGI= github.com/confluentinc/ccloud-sdk-go-v2/cmk v0.6.0 h1:qOBunYd2bWo/IikZ60xMDcp/KfZ/ZahCOoeTjxXOoRU= @@ -83,35 +187,204 @@ github.com/confluentinc/ccloud-sdk-go-v2/identity-provider v0.2.0 h1:9TT8UCFRc5z github.com/confluentinc/ccloud-sdk-go-v2/identity-provider v0.2.0/go.mod h1:JLmrXfnT2PzcuXHD8a6c2cW1c9LKK7aMsdZjjqxYPEk= github.com/confluentinc/ccloud-sdk-go-v2/kafkarest v0.3.0 h1:SoH721t+NGT5Lxxn0sj9DO9YvS2CPh3FdN/+iBKmWAI= github.com/confluentinc/ccloud-sdk-go-v2/kafkarest v0.3.0/go.mod h1:+3crwD4MWa0CGGuyEixXMeLNy0VIRTbxezSduM33qbg= +github.com/confluentinc/ccloud-sdk-go-v2/ksql v0.1.0 h1:dtLqrG3nltpe2xucO8Bj17HPw+mTJG5zYxJksQ7+Yhw= +github.com/confluentinc/ccloud-sdk-go-v2/ksql v0.1.0/go.mod h1:0LAvd4VqlaRwKU4yvDEkVCtV43yNezt56+hBe9Lmg7Q= github.com/confluentinc/ccloud-sdk-go-v2/mds v0.3.0 h1:DaipFGVdZjAE8eSztUrA/4b74kj6k5lZ0EJmK1RqccU= github.com/confluentinc/ccloud-sdk-go-v2/mds v0.3.0/go.mod h1:ufn9In8kDsyJ7Nru2ygpAaWdGw7DSDTOTtDhQVSmZjs= -github.com/confluentinc/ccloud-sdk-go-v2/networking v0.2.0 h1:tXxfF1Nq90ca/xf3gcN/QPHxCQ63rmlNOlsmTBv3MIw= -github.com/confluentinc/ccloud-sdk-go-v2/networking v0.2.0/go.mod h1:EcmHhRib8dDuO5ZsO+qS3scX9xEP5E/IXOVoItp5X2s= +github.com/confluentinc/ccloud-sdk-go-v2/networking v0.3.0 h1:ST2ehvjsWyA+tPoFFEyDlo/RDraEzFFL7tei4pXWH5o= +github.com/confluentinc/ccloud-sdk-go-v2/networking v0.3.0/go.mod h1:EcmHhRib8dDuO5ZsO+qS3scX9xEP5E/IXOVoItp5X2s= github.com/confluentinc/ccloud-sdk-go-v2/org v0.4.0 h1:WcJs6RbY8nU5HapaG0ZCH9ftFBtZyuKMIuNAkdVmc2o= github.com/confluentinc/ccloud-sdk-go-v2/org v0.4.0/go.mod h1:zREJ+OOZz0rEXCaPx0JbCVj2EfNnYs/c6qhPDfhldI0= +github.com/containerd/aufs v0.0.0-20200908144142-dab0cbea06f4/go.mod h1:nukgQABAEopAHvB6j7cnP5zJ+/3aVcE7hCYqvIwAHyE= +github.com/containerd/aufs v0.0.0-20201003224125-76a6863f2989/go.mod h1:AkGGQs9NM2vtYHaUen+NljV0/baGCAPELGm2q9ZXpWU= +github.com/containerd/aufs v0.0.0-20210316121734-20793ff83c97/go.mod h1:kL5kd6KM5TzQjR79jljyi4olc1Vrx6XBlcyj3gNv2PU= +github.com/containerd/aufs v1.0.0/go.mod h1:kL5kd6KM5TzQjR79jljyi4olc1Vrx6XBlcyj3gNv2PU= +github.com/containerd/btrfs v0.0.0-20201111183144-404b9149801e/go.mod h1:jg2QkJcsabfHugurUvvPhS3E08Oxiuh5W/g1ybB4e0E= +github.com/containerd/btrfs v0.0.0-20210316141732-918d888fb676/go.mod h1:zMcX3qkXTAi9GI50+0HOeuV8LU2ryCE/V2vG/ZBiTss= +github.com/containerd/btrfs v1.0.0/go.mod h1:zMcX3qkXTAi9GI50+0HOeuV8LU2ryCE/V2vG/ZBiTss= +github.com/containerd/cgroups v0.0.0-20190717030353-c4b9ac5c7601/go.mod h1:X9rLEHIqSf/wfK8NsPqxJmeZgW4pcfzdXITDrUSJ6uI= +github.com/containerd/cgroups v0.0.0-20190919134610-bf292b21730f/go.mod h1:OApqhQ4XNSNC13gXIwDjhOQxjWa/NxkwZXJ1EvqT0ko= +github.com/containerd/cgroups v0.0.0-20200531161412-0dbf7f05ba59/go.mod h1:pA0z1pT8KYB3TCXK/ocprsh7MAkoW8bZVzPdih9snmM= +github.com/containerd/cgroups v0.0.0-20200710171044-318312a37340/go.mod h1:s5q4SojHctfxANBDvMeIaIovkq29IP48TKAxnhYRxvo= +github.com/containerd/cgroups v0.0.0-20200824123100-0b889c03f102/go.mod h1:s5q4SojHctfxANBDvMeIaIovkq29IP48TKAxnhYRxvo= +github.com/containerd/cgroups v0.0.0-20210114181951-8a68de567b68/go.mod h1:ZJeTFisyysqgcCdecO57Dj79RfL0LNeGiFUqLYQRYLE= +github.com/containerd/cgroups v1.0.1/go.mod h1:0SJrPIenamHDcZhEcJMNBB85rHcUsw4f25ZfBiPYRkU= github.com/containerd/cgroups v1.0.3 h1:ADZftAkglvCiD44c77s5YmMqaP2pzVCFZvBmAlBdAP4= +github.com/containerd/cgroups v1.0.3/go.mod h1:/ofk34relqNjSGyqPrmEULrO4Sc8LJhvJmWbUCUKqj8= +github.com/containerd/console v0.0.0-20180822173158-c12b1e7919c1/go.mod h1:Tj/on1eG8kiEhd0+fhSDzsPAFESxzBBvdyEgyryXffw= +github.com/containerd/console v0.0.0-20181022165439-0650fd9eeb50/go.mod h1:Tj/on1eG8kiEhd0+fhSDzsPAFESxzBBvdyEgyryXffw= +github.com/containerd/console v0.0.0-20191206165004-02ecf6a7291e/go.mod h1:8Pf4gM6VEbTNRIT26AyyU7hxdQU3MvAvxVI0sc00XBE= +github.com/containerd/console v1.0.1/go.mod h1:XUsP6YE/mKtz6bxc+I8UiKKTP04qjQL4qcS3XoQ5xkw= +github.com/containerd/console v1.0.2/go.mod h1:ytZPjGgY2oeTkAONYafi2kSj0aYggsf8acV1PGKCbzQ= +github.com/containerd/console v1.0.3/go.mod h1:7LqA/THxQ86k76b8c/EMSiaJ3h1eZkMkXar0TQ1gf3U= +github.com/containerd/containerd v1.2.10/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= +github.com/containerd/containerd v1.3.0-beta.2.0.20190828155532-0293cbd26c69/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= +github.com/containerd/containerd v1.3.0/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= +github.com/containerd/containerd v1.3.1-0.20191213020239-082f7e3aed57/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= +github.com/containerd/containerd v1.3.2/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= +github.com/containerd/containerd v1.4.0-beta.2.0.20200729163537-40b22ef07410/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= +github.com/containerd/containerd v1.4.1/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= +github.com/containerd/containerd v1.4.3/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= +github.com/containerd/containerd v1.4.9/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= +github.com/containerd/containerd v1.5.0-beta.1/go.mod h1:5HfvG1V2FsKesEGQ17k5/T7V960Tmcumvqn8Mc+pCYQ= +github.com/containerd/containerd v1.5.0-beta.3/go.mod h1:/wr9AVtEM7x9c+n0+stptlo/uBBoBORwEx6ardVcmKU= +github.com/containerd/containerd v1.5.0-beta.4/go.mod h1:GmdgZd2zA2GYIBZ0w09ZvgqEq8EfBp/m3lcVZIvPHhI= +github.com/containerd/containerd v1.5.0-rc.0/go.mod h1:V/IXoMqNGgBlabz3tHD2TWDoTJseu1FGOKuoA4nNb2s= +github.com/containerd/containerd v1.5.1/go.mod h1:0DOxVqwDy2iZvrZp2JUx/E+hS0UNTVn7dJnIOwtYR4g= +github.com/containerd/containerd v1.5.7/go.mod h1:gyvv6+ugqY25TiXxcZC3L5yOeYgEw0QMhscqVp1AR9c= +github.com/containerd/containerd v1.5.8/go.mod h1:YdFSv5bTFLpG2HIYmfqDpSYYTDX+mc5qtSuYx1YUb/s= +github.com/containerd/containerd v1.5.9/go.mod h1:fvQqCfadDGga5HZyn3j4+dx56qj2I9YwBrlSdalvJYQ= github.com/containerd/containerd v1.6.1 h1:oa2uY0/0G+JX4X7hpGCYvkp9FjUancz56kSNnb1sG3o= +github.com/containerd/containerd v1.6.1/go.mod h1:1nJz5xCZPusx6jJU8Frfct988y0NpumIq9ODB0kLtoE= +github.com/containerd/continuity v0.0.0-20190426062206-aaeac12a7ffc/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y= +github.com/containerd/continuity v0.0.0-20190815185530-f2a389ac0a02/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y= +github.com/containerd/continuity v0.0.0-20191127005431-f65d91d395eb/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y= +github.com/containerd/continuity v0.0.0-20200710164510-efbc4488d8fe/go.mod h1:cECdGN1O8G9bgKTlLhuPJimka6Xb/Gg7vYzCTNVxhvo= +github.com/containerd/continuity v0.0.0-20201208142359-180525291bb7/go.mod h1:kR3BEg7bDFaEddKm54WSmrol1fKWDU1nKYkgrcgZT7Y= +github.com/containerd/continuity v0.0.0-20210208174643-50096c924a4e/go.mod h1:EXlVlkqNba9rJe3j7w3Xa924itAMLgZH4UD/Q4PExuQ= +github.com/containerd/continuity v0.1.0/go.mod h1:ICJu0PwR54nI0yPEnJ6jcS+J7CZAUXrLh8lPo2knzsM= +github.com/containerd/continuity v0.2.2 h1:QSqfxcn8c+12slxwu00AtzXrsami0MJb/MQs9lOLHLA= +github.com/containerd/continuity v0.2.2/go.mod h1:pWygW9u7LtS1o4N/Tn0FoCFDIXZ7rxcMX7HX1Dmibvk= +github.com/containerd/fifo v0.0.0-20180307165137-3d5202aec260/go.mod h1:ODA38xgv3Kuk8dQz2ZQXpnv/UZZUHUCL7pnLehbXgQI= +github.com/containerd/fifo v0.0.0-20190226154929-a9fb20d87448/go.mod h1:ODA38xgv3Kuk8dQz2ZQXpnv/UZZUHUCL7pnLehbXgQI= +github.com/containerd/fifo v0.0.0-20200410184934-f15a3290365b/go.mod h1:jPQ2IAeZRCYxpS/Cm1495vGFww6ecHmMk1YJH2Q5ln0= +github.com/containerd/fifo v0.0.0-20201026212402-0724c46b320c/go.mod h1:jPQ2IAeZRCYxpS/Cm1495vGFww6ecHmMk1YJH2Q5ln0= +github.com/containerd/fifo v0.0.0-20210316144830-115abcc95a1d/go.mod h1:ocF/ME1SX5b1AOlWi9r677YJmCPSwwWnQ9O123vzpE4= +github.com/containerd/fifo v1.0.0/go.mod h1:ocF/ME1SX5b1AOlWi9r677YJmCPSwwWnQ9O123vzpE4= +github.com/containerd/go-cni v1.0.1/go.mod h1:+vUpYxKvAF72G9i1WoDOiPGRtQpqsNW/ZHtSlv++smU= +github.com/containerd/go-cni v1.0.2/go.mod h1:nrNABBHzu0ZwCug9Ije8hL2xBCYh/pjfMb1aZGrrohk= +github.com/containerd/go-cni v1.1.0/go.mod h1:Rflh2EJ/++BA2/vY5ao3K6WJRR/bZKsX123aPk+kUtA= +github.com/containerd/go-cni v1.1.3/go.mod h1:Rflh2EJ/++BA2/vY5ao3K6WJRR/bZKsX123aPk+kUtA= +github.com/containerd/go-runc v0.0.0-20180907222934-5a6d9f37cfa3/go.mod h1:IV7qH3hrUgRmyYrtgEeGWJfWbgcHL9CSRruz2Vqcph0= +github.com/containerd/go-runc v0.0.0-20190911050354-e029b79d8cda/go.mod h1:IV7qH3hrUgRmyYrtgEeGWJfWbgcHL9CSRruz2Vqcph0= +github.com/containerd/go-runc v0.0.0-20200220073739-7016d3ce2328/go.mod h1:PpyHrqVs8FTi9vpyHwPwiNEGaACDxT/N/pLcvMSRA9g= +github.com/containerd/go-runc v0.0.0-20201020171139-16b287bc67d0/go.mod h1:cNU0ZbCgCQVZK4lgG3P+9tn9/PaJNmoDXPpoJhDR+Ok= +github.com/containerd/go-runc v1.0.0/go.mod h1:cNU0ZbCgCQVZK4lgG3P+9tn9/PaJNmoDXPpoJhDR+Ok= +github.com/containerd/imgcrypt v1.0.1/go.mod h1:mdd8cEPW7TPgNG4FpuP3sGBiQ7Yi/zak9TYCG3juvb0= +github.com/containerd/imgcrypt v1.0.4-0.20210301171431-0ae5c75f59ba/go.mod h1:6TNsg0ctmizkrOgXRNQjAPFWpMYRWuiB6dSF4Pfa5SA= +github.com/containerd/imgcrypt v1.1.1-0.20210312161619-7ed62a527887/go.mod h1:5AZJNI6sLHJljKuI9IHnw1pWqo/F0nGDOuR9zgTs7ow= +github.com/containerd/imgcrypt v1.1.1/go.mod h1:xpLnwiQmEUJPvQoAapeb2SNCxz7Xr6PJrXQb0Dpc4ms= +github.com/containerd/imgcrypt v1.1.3/go.mod h1:/TPA1GIDXMzbj01yd8pIbQiLdQxed5ue1wb8bP7PQu4= +github.com/containerd/nri v0.0.0-20201007170849-eb1350a75164/go.mod h1:+2wGSDGFYfE5+So4M5syatU0N0f0LbWpuqyMi4/BE8c= +github.com/containerd/nri v0.0.0-20210316161719-dbaa18c31c14/go.mod h1:lmxnXF6oMkbqs39FiCt1s0R2HSMhcLel9vNL3m4AaeY= +github.com/containerd/nri v0.1.0/go.mod h1:lmxnXF6oMkbqs39FiCt1s0R2HSMhcLel9vNL3m4AaeY= +github.com/containerd/stargz-snapshotter/estargz v0.4.1/go.mod h1:x7Q9dg9QYb4+ELgxmo4gBUeJB0tl5dqH1Sdz0nJU1QM= +github.com/containerd/ttrpc v0.0.0-20190828154514-0e0f228740de/go.mod h1:PvCDdDGpgqzQIzDW1TphrGLssLDZp2GuS+X5DkEJB8o= +github.com/containerd/ttrpc v0.0.0-20190828172938-92c8520ef9f8/go.mod h1:PvCDdDGpgqzQIzDW1TphrGLssLDZp2GuS+X5DkEJB8o= +github.com/containerd/ttrpc v0.0.0-20191028202541-4f1b8fe65a5c/go.mod h1:LPm1u0xBw8r8NOKoOdNMeVHSawSsltak+Ihv+etqsE8= +github.com/containerd/ttrpc v1.0.1/go.mod h1:UAxOpgT9ziI0gJrmKvgcZivgxOp8iFPSk8httJEt98Y= +github.com/containerd/ttrpc v1.0.2/go.mod h1:UAxOpgT9ziI0gJrmKvgcZivgxOp8iFPSk8httJEt98Y= +github.com/containerd/ttrpc v1.1.0/go.mod h1:XX4ZTnoOId4HklF4edwc4DcqskFZuvXB1Evzy5KFQpQ= +github.com/containerd/typeurl v0.0.0-20180627222232-a93fcdb778cd/go.mod h1:Cm3kwCdlkCfMSHURc+r6fwoGH6/F1hH3S4sg0rLFWPc= +github.com/containerd/typeurl v0.0.0-20190911142611-5eb25027c9fd/go.mod h1:GeKYzf2pQcqv7tJ0AoCuuhtnqhva5LNU3U+OyKxxJpk= +github.com/containerd/typeurl v1.0.1/go.mod h1:TB1hUtrpaiO88KEK56ijojHS1+NeF0izUACaJW2mdXg= +github.com/containerd/typeurl v1.0.2/go.mod h1:9trJWW2sRlGub4wZJRTW83VtbOLS6hwcDZXTn6oPz9s= +github.com/containerd/zfs v0.0.0-20200918131355-0a33824f23a2/go.mod h1:8IgZOBdv8fAgXddBT4dBXJPtxyRsejFIpXoklgxgEjw= +github.com/containerd/zfs v0.0.0-20210301145711-11e8f1707f62/go.mod h1:A9zfAbMlQwE+/is6hi0Xw8ktpL+6glmqZYtevJgaB8Y= +github.com/containerd/zfs v0.0.0-20210315114300-dde8f0fda960/go.mod h1:m+m51S1DvAP6r3FcmYCp54bQ34pyOwTieQDNRIRHsFY= +github.com/containerd/zfs v0.0.0-20210324211415-d5c4544f0433/go.mod h1:m+m51S1DvAP6r3FcmYCp54bQ34pyOwTieQDNRIRHsFY= +github.com/containerd/zfs v1.0.0/go.mod h1:m+m51S1DvAP6r3FcmYCp54bQ34pyOwTieQDNRIRHsFY= +github.com/containernetworking/cni v0.7.1/go.mod h1:LGwApLUm2FpoOfxTDEeq8T9ipbpZ61X79hmU3w8FmsY= +github.com/containernetworking/cni v0.8.0/go.mod h1:LGwApLUm2FpoOfxTDEeq8T9ipbpZ61X79hmU3w8FmsY= +github.com/containernetworking/cni v0.8.1/go.mod h1:LGwApLUm2FpoOfxTDEeq8T9ipbpZ61X79hmU3w8FmsY= +github.com/containernetworking/cni v1.0.1/go.mod h1:AKuhXbN5EzmD4yTNtfSsX3tPcmtrBI6QcRV0NiNt15Y= +github.com/containernetworking/plugins v0.8.6/go.mod h1:qnw5mN19D8fIwkqW7oHHYDHVlzhJpcY6TQxn/fUyDDM= +github.com/containernetworking/plugins v0.9.1/go.mod h1:xP/idU2ldlzN6m4p5LmGiwRDjeJr6FLK6vuiUwoH7P8= +github.com/containernetworking/plugins v1.0.1/go.mod h1:QHCfGpaTwYTbbH+nZXKVTxNBDZcxSOplJT5ico8/FLE= +github.com/containers/ocicrypt v1.0.1/go.mod h1:MeJDzk1RJHv89LjsH0Sp5KTY3ZYkjXO/C+bKAeWFIrc= +github.com/containers/ocicrypt v1.1.0/go.mod h1:b8AOe0YR67uU8OqfVNcznfFpAzu3rdgUV4GP9qXPfu4= +github.com/containers/ocicrypt v1.1.1/go.mod h1:Dm55fwWm1YZAjYRaJ94z2mfZikIyIN4B0oB3dj3jFxY= +github.com/containers/ocicrypt v1.1.2/go.mod h1:Dm55fwWm1YZAjYRaJ94z2mfZikIyIN4B0oB3dj3jFxY= +github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk= +github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= +github.com/coreos/etcd v3.3.13+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= +github.com/coreos/go-iptables v0.4.5/go.mod h1:/mVI274lEDI2ns62jHCDnCyBF9Iwsmekav8Dbxlm1MU= +github.com/coreos/go-iptables v0.5.0/go.mod h1:/mVI274lEDI2ns62jHCDnCyBF9Iwsmekav8Dbxlm1MU= +github.com/coreos/go-iptables v0.6.0/go.mod h1:Qe8Bv2Xik5FyTXwgIbLAnv2sWSBmvWdFETJConOQ//Q= +github.com/coreos/go-oidc v2.1.0+incompatible/go.mod h1:CgnwVTmzoESiwO9qyAFEMiHoZ1nMCKZlZ9V6mm3/LKc= +github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= +github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= +github.com/coreos/go-systemd v0.0.0-20161114122254-48702e0da86b/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= +github.com/coreos/go-systemd v0.0.0-20180511133405-39ca1b05acc7/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= +github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= +github.com/coreos/go-systemd/v22 v22.0.0/go.mod h1:xO0FLkIi5MaZafQlIrOotqXZ90ih+1atmu1JpKERPPk= +github.com/coreos/go-systemd/v22 v22.1.0/go.mod h1:xO0FLkIi5MaZafQlIrOotqXZ90ih+1atmu1JpKERPPk= +github.com/coreos/go-systemd/v22 v22.3.2/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= +github.com/coreos/pkg v0.0.0-20160727233714-3ac0863d7acf/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= +github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= +github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= +github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= +github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= +github.com/creack/pty v1.1.11 h1:07n33Z8lZxZ2qwegKbObQohDhXDQxiMMz1NOUGYlesw= +github.com/creack/pty v1.1.11/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= +github.com/cyphar/filepath-securejoin v0.2.2/go.mod h1:FpkQEhXnPnOthhzymB7CGsFk2G9VLXONKD9G7QGMM+4= +github.com/cyphar/filepath-securejoin v0.2.3/go.mod h1:aPGpWjXOXUn2NCNjFvBE6aRxGGx79pTxQpKOJNYHHl4= +github.com/d2g/dhcp4 v0.0.0-20170904100407-a1d1b6c41b1c/go.mod h1:Ct2BUK8SB0YC1SMSibvLzxjeJLnrYEVLULFNiHY9YfQ= +github.com/d2g/dhcp4client v1.0.0/go.mod h1:j0hNfjhrt2SxUOw55nL0ATM/z4Yt3t2Kd1mW34z5W5s= +github.com/d2g/dhcp4server v0.0.0-20181031114812-7d4a0a7f59a5/go.mod h1:Eo87+Kg/IX2hfWJfwxMzLyuSZyxSoAug2nGa1G2QAi8= +github.com/d2g/hardwareaddr v0.0.0-20190221164911-e7d9fbe030e4/go.mod h1:bMl4RjIciD2oAxI7DmWRx6gbeqrkoLqv3MV0vzNad+I= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/denverdino/aliyungo v0.0.0-20190125010748-a747050bb1ba/go.mod h1:dV8lFg6daOBZbT6/BDGIz6Y3WFGn8juu6G+CQ6LHtl0= +github.com/dgrijalva/jwt-go v0.0.0-20170104182250-a601269ab70c/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= +github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= +github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no= +github.com/dnaeon/go-vcr v1.0.1/go.mod h1:aBB1+wY4s93YsC3HHjMBMrwTj2R9FHDzUr9KyGc8n1E= +github.com/dnephin/pflag v1.0.7/go.mod h1:uxE91IoWURlOiTUIA8Mq5ZZkAv3dPUfZNaT80Zm7OQE= +github.com/docker/cli v0.0.0-20191017083524-a8ff7f821017/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= +github.com/docker/distribution v0.0.0-20190905152932-14b96e55d84c/go.mod h1:0+TTO4EOBfRPhZXAeF1Vu+W3hHZ8eLp8PgKVZlcvtFY= +github.com/docker/distribution v2.7.1-0.20190205005809-0d3efadf0154+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= github.com/docker/distribution v2.7.1+incompatible h1:a5mlkVzth6W5A4fOsS3D2EO5BUmsJpcB+cRlLU7cSug= +github.com/docker/distribution v2.7.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= +github.com/docker/docker v1.4.2-0.20190924003213-a8608b5b67c7/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= github.com/docker/docker v20.10.11+incompatible h1:OqzI/g/W54LczvhnccGqniFoQghHx3pklbLuhfXpqGo= +github.com/docker/docker v20.10.11+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= +github.com/docker/docker-credential-helpers v0.6.3/go.mod h1:WRaJzqw3CTB9bk10avuGsjVBZsD05qeibJ1/TYlvc0Y= github.com/docker/go-connections v0.4.0 h1:El9xVISelRB7BuFusrZozjnkIM5YnzCViNKohAFqRJQ= +github.com/docker/go-connections v0.4.0/go.mod h1:Gbd7IOopHjR8Iph03tsViu4nIes5XhDvyHbTtUxmeec= +github.com/docker/go-events v0.0.0-20170721190031-9461782956ad/go.mod h1:Uw6UezgYA44ePAFQYUehOuCzmy5zmg/+nl2ZfMWGkpA= +github.com/docker/go-events v0.0.0-20190806004212-e31b211e4f1c/go.mod h1:Uw6UezgYA44ePAFQYUehOuCzmy5zmg/+nl2ZfMWGkpA= +github.com/docker/go-metrics v0.0.0-20180209012529-399ea8c73916/go.mod h1:/u0gXw0Gay3ceNrsHubL3BtdOL2fHf93USgMTe0W5dI= +github.com/docker/go-metrics v0.0.1/go.mod h1:cG1hvH2utMXtqgqqYE9plW6lDxS3/5ayHzueweSI3Vw= github.com/docker/go-units v0.4.0 h1:3uh0PgVws3nIA0Q+MwDC8yjEPf9zjRfZZWXZYDct3Tw= +github.com/docker/go-units v0.4.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= +github.com/docker/libtrust v0.0.0-20150114040149-fa567046d9b1/go.mod h1:cyGadeNEkKy96OOhEzfZl+yxihPEzKnqJwvfuSUqbZE= +github.com/docker/spdystream v0.0.0-20160310174837-449fdfce4d96/go.mod h1:Qh8CwZgvJUkLughtfhJv5dyTYa91l1fOUCrgjqmcifM= +github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3ebgob9U8Nd0kOddGdZWjyMGR8Wziv+TBNwSE= +github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= +github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= +github.com/elazarl/goproxy v0.0.0-20180725130230-947c36da3153/go.mod h1:/Zj4wYkgs4iZTTu3o/KG3Itv/qCCa8VVMlb3i9OVuzc= +github.com/emicklei/go-restful v0.0.0-20170410110728-ff4f55a20633/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= +github.com/emicklei/go-restful v2.9.5+incompatible/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= github.com/emirpasic/gods v1.12.0 h1:QAUIPSaCu4G+POclxeqb3F+WPpdKqFGlw36+yOzGlrg= github.com/emirpasic/gods v1.12.0/go.mod h1:YfzfFFoVP/catgzJb4IKIqXjX78Ha8FMSDh3ymbK86o= github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= +github.com/envoyproxy/go-control-plane v0.9.7/go.mod h1:cwu0lG7PUMfa9snN8LXBig5ynNVH9qI8YYLbd1fK2po= github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= +github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ= github.com/envoyproxy/go-control-plane v0.9.10-0.20210907150352-cf90f659a021/go.mod h1:AFq3mo9L8Lqqiid3OhADV3RfLJnjiw63cSpi+fDTRC0= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= +github.com/evanphx/json-patch v4.9.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= +github.com/evanphx/json-patch v4.11.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= github.com/fatih/color v1.10.0 h1:s36xzo75JdqLaaWoiEHk767eHiwo0598uUxyfiPkDsg= github.com/fatih/color v1.10.0/go.mod h1:ELkj/draVOlAH/xkhN6mQ50Qd0MPOk5AAr3maGEBuJM= +github.com/felixge/httpsnoop v1.0.1/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568/go.mod h1:xEzjJPgXI435gkrCt3MPfRiAkVrwSbHsst4LCFVfpJc= +github.com/form3tech-oss/jwt-go v3.2.2+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k= +github.com/form3tech-oss/jwt-go v3.2.3+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k= +github.com/frankban/quicktest v1.11.3/go.mod h1:wRf/ReqHper53s+kmmSZizM8NamnL3IM0I9ntUbOk+k= +github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= +github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= +github.com/fullsailor/pkcs7 v0.0.0-20190404230743-d7302db945fa/go.mod h1:KnogPXtdwXqoenmZCw6S+25EAm2MkxbG0deNDu4cbSA= +github.com/garyburd/redigo v0.0.0-20150301180006-535138d7bcd7/go.mod h1:NR3MbYisc3/PwhQ00EMzDiPmrwpPxAn5GI05/YaO1SY= +github.com/getsentry/raven-go v0.2.0/go.mod h1:KungGk8q33+aIAZUIVWZDr2OfAEBsO49PX4NzFV5kcQ= +github.com/ghodss/yaml v0.0.0-20150909031657-73d445a93680/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= github.com/gliderlabs/ssh v0.2.2/go.mod h1:U7qILu1NlMHj9FlMhZLlkCdDnU1DBEAqr0aevW3Awn0= github.com/go-git/gcfg v1.5.0 h1:Q5ViNfGF8zFgyJWPqYwA7qGFoMTEiBmdlkcfRmpIMa4= @@ -125,14 +398,66 @@ github.com/go-git/go-git/v5 v5.4.2/go.mod h1:gQ1kArt6d+n+BGd+/B/I74HwRTLhth2+zti github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= +github.com/go-ini/ini v1.25.4/go.mod h1:ByCAeIL28uOIIG0E3PJtZPDL8WnHpFKFOtgjp+3Ies8= +github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= +github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= +github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vbaY= +github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= +github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= +github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A= +github.com/go-logr/logr v0.1.0/go.mod h1:ixOQHD9gLJUVQQ2ZOR7zLEifBX6tGkNJF4QyIY7sIas= +github.com/go-logr/logr v0.2.0/go.mod h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTgseGU= +github.com/go-logr/logr v0.4.0/go.mod h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTgseGU= +github.com/go-logr/logr v1.2.0/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= +github.com/go-logr/logr v1.2.1/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= +github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= +github.com/go-logr/stdr v1.2.0/go.mod h1:YkVgnZu1ZjjL7xTxrfm/LLZBfkhTqSR1ydtm6jTKKwI= +github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= +github.com/go-openapi/jsonpointer v0.0.0-20160704185906-46af16f9f7b1/go.mod h1:+35s3my2LFTysnkMfxsJBAMHj/DoqoB9knIWoYG/Vk0= +github.com/go-openapi/jsonpointer v0.19.2/go.mod h1:3akKfEdA7DF1sugOqz1dVQHBcuDBPKZGEoHC/NkiQRg= +github.com/go-openapi/jsonpointer v0.19.3/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= +github.com/go-openapi/jsonpointer v0.19.5/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= +github.com/go-openapi/jsonreference v0.0.0-20160704190145-13c6e3589ad9/go.mod h1:W3Z9FmVs9qj+KR4zFKmDPGiLdk1D9Rlm7cyMvf57TTg= +github.com/go-openapi/jsonreference v0.19.2/go.mod h1:jMjeRr2HHw6nAVajTXJ4eiUwohSTlpa0o73RUL1owJc= +github.com/go-openapi/jsonreference v0.19.3/go.mod h1:rjx6GuL8TTa9VaixXglHmQmIL98+wF9xc8zWvFonSJ8= +github.com/go-openapi/jsonreference v0.19.5/go.mod h1:RdybgQwPxbL4UEjuAruzK1x3nE69AqPYEJeo/TWfEeg= +github.com/go-openapi/spec v0.0.0-20160808142527-6aced65f8501/go.mod h1:J8+jY1nAiCcj+friV/PDoE1/3eeccG9LYBs0tYvLOWc= +github.com/go-openapi/spec v0.19.3/go.mod h1:FpwSN1ksY1eteniUU7X0N/BgJ7a4WvBFVA8Lj9mJglo= +github.com/go-openapi/swag v0.0.0-20160704191624-1d0bd113de87/go.mod h1:DXUve3Dpr1UfpPtxFw+EFuQ41HhCWZfha5jSVRG7C7I= +github.com/go-openapi/swag v0.19.2/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= +github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= +github.com/go-openapi/swag v0.19.14/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ= +github.com/go-redis/redis v6.15.9+incompatible h1:K0pv1D7EQUjfyoMql+r/jZqCLizCGKFlFgcHWWmHQjg= +github.com/go-redis/redis v6.15.9+incompatible/go.mod h1:NAIEuMOZ/fxfXJIrKDQDz8wamY7mA7PouImQ2Jvg6kA= +github.com/go-sql-driver/mysql v1.6.0 h1:BCTh4TKNUYmOmMUcQ3IipzF5prigylS7XXjEkfCHuOE= +github.com/go-sql-driver/mysql v1.6.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= +github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= +github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg7847qk6SyHyPtNmDHnmrv/HOrqktSC+C9fM+CJOE= github.com/go-test/deep v1.0.3 h1:ZrJSEWsXzPOxaZnFteGEfooLba+ju3FYIbOrS+rQd68= github.com/go-test/deep v1.0.3/go.mod h1:wGDj63lr65AM2AQyKZd/NYHGb0R+1RLqB8NKt3aSFNA= +github.com/godbus/dbus v0.0.0-20151105175453-c7fdd8b5cd55/go.mod h1:/YcGZj5zSblfDWMMoOzV4fas9FZnQYTkDnsGvmh2Grw= +github.com/godbus/dbus v0.0.0-20180201030542-885f9cc04c9c/go.mod h1:/YcGZj5zSblfDWMMoOzV4fas9FZnQYTkDnsGvmh2Grw= +github.com/godbus/dbus v0.0.0-20190422162347-ade71ed3457e/go.mod h1:bBOAhwG1umN6/6ZUMtDFBMQR8jRg9O75tm9K00oMsK4= +github.com/godbus/dbus/v5 v5.0.3/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= +github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= +github.com/godbus/dbus/v5 v5.0.6/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= +github.com/gogo/googleapis v1.2.0/go.mod h1:Njal3psf3qN6dwBtQfUmBZh2ybovJ0tlu3o/AC7HYjU= +github.com/gogo/googleapis v1.4.0/go.mod h1:5YRNX2z1oM5gXdAkurHa942MDgEJyk02w4OecKY87+c= +github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= +github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4= +github.com/gogo/protobuf v1.2.2-0.20190723190241-65acae22fc9d/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o= +github.com/gogo/protobuf v1.3.0/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o= +github.com/gogo/protobuf v1.3.1/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= +github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= +github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE= +github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y= @@ -140,6 +465,8 @@ github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4= +github.com/golang/mock v1.5.0/go.mod h1:CWnOUgYIOo4TcNZ0wHX3YZCqsaM1I1Jvs6v3mP3KVu8= +github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs= github.com/golang/protobuf v1.1.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= @@ -156,10 +483,12 @@ github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QD github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= +github.com/golang/protobuf v1.5.1/go.mod h1:DopwsBzvsk0Fs44TXzsVbJyPhcCPeIwnvohx4u74HPM= github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw= github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= +github.com/google/btree v1.0.1/go.mod h1:xXMiIv4Fb/0kKde4SpL7qlzvu5cMJDRkFDxJfI9uaxA= github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= @@ -167,12 +496,20 @@ github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/ github.com/google/go-cmp v0.4.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.8 h1:e6P7q2lk1O+qJJb4BtCQXlK8vWEO8V1ZeuEdJNOqZyg= github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +github.com/google/go-containerregistry v0.5.1/go.mod h1:Ct15B4yir3PLOP5jsy0GNeYVaIZs/MK/Jz5any1wFW0= +github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/google/gofuzz v1.1.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= +github.com/google/martian/v3 v3.1.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= @@ -180,12 +517,42 @@ github.com/google/pprof v0.0.0-20200212024743-f11f1df84d12/go.mod h1:ZgVRPoUq/hf github.com/google/pprof v0.0.0-20200229191704-1ebb73c60ed3/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= github.com/google/pprof v0.0.0-20200430221834-fc25d7d30c6d/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20201023163331-3e6fc7fc9c4c/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210122040257-d980be63207e/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210226084205-cbba55b83ad5/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= +github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510/go.mod h1:pupxD2MaaD3pAXIBCelhxNneeOaAeabZDe5s4K6zSpQ= +github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.2.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= +github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= +github.com/googleapis/gnostic v0.4.1/go.mod h1:LRhVm6pbyptWbWbuZ38d1eyptfvIytN3ir6b65WBswg= +github.com/googleapis/gnostic v0.5.1/go.mod h1:6U4PtQXGIEt/Z3h5MAT7FNofLnw9vXk2cUuW7uA/OeU= +github.com/googleapis/gnostic v0.5.5/go.mod h1:7+EbHbldMins07ALC74bsA81Ovc97DwqyJO1AENw9kA= +github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= +github.com/gorilla/handlers v0.0.0-20150720190736-60c7bfde3e33/go.mod h1:Qkdc/uu4tH4g6mTK6auzZ766c4CA0Ng8+o/OAirnOIQ= +github.com/gorilla/mux v1.7.2/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= +github.com/gorilla/mux v1.7.3 h1:gnP5JzjVOuiZD07fKKToCAOjS0yOpj/qPETTXCCS6hw= +github.com/gorilla/mux v1.7.3/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= +github.com/gorilla/websocket v0.0.0-20170926233335-4201258b820c/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= +github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= +github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= +github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA= +github.com/grpc-ecosystem/go-grpc-middleware v1.0.0/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= +github.com/grpc-ecosystem/go-grpc-middleware v1.0.1-0.20190118093823-f849b5445de4/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= +github.com/grpc-ecosystem/go-grpc-middleware v1.3.0/go.mod h1:z0ButlSOZa5vEBq9m2m2hlwIgKw+rp3sdCBRoJY+30Y= +github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk= +github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= +github.com/grpc-ecosystem/grpc-gateway v1.9.5/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= +github.com/hashicorp/consul/api v1.1.0/go.mod h1:VmuI/Lkw1nC05EYQWNKwWGbkg+FbDBtguAZLlVdkD9Q= +github.com/hashicorp/consul/sdk v0.1.1/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8= +github.com/hashicorp/errwrap v0.0.0-20141028054710-7554cd9344ce/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY2I= github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= @@ -201,27 +568,40 @@ github.com/hashicorp/go-hclog v0.9.2/go.mod h1:5CU+agLiy3J7N7QjHK5d05KxGsuXiQLrj github.com/hashicorp/go-hclog v0.14.1/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= github.com/hashicorp/go-hclog v1.2.0 h1:La19f8d7WIlm4ogzNHB0JGqs5AUDAZ2UfCY4sJXcJdM= github.com/hashicorp/go-hclog v1.2.0/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= +github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= +github.com/hashicorp/go-msgpack v0.5.3/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM= +github.com/hashicorp/go-multierror v0.0.0-20161216184304-ed905158d874/go.mod h1:JMRHfdO9jKNzS/+BTlxCjKNQHg/jZAft8U7LloJvN7I= +github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk= github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo= github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM= github.com/hashicorp/go-plugin v1.4.3 h1:DXmvivbWD5qdiBts9TpBC7BYL1Aia5sxbRgQB+v6UZM= github.com/hashicorp/go-plugin v1.4.3/go.mod h1:5fGEH17QVwTTcR0zV7yhDPLLmFX9YSZ38b18Udy6vYQ= github.com/hashicorp/go-retryablehttp v0.7.0 h1:eu1EI/mbirUgP5C8hVsTNaGZreBDlYiwC1FZWkvQPQ4= github.com/hashicorp/go-retryablehttp v0.7.0/go.mod h1:vAew36LZh98gCBJNLH42IQ1ER/9wtLZZ8meHqQvEYWY= +github.com/hashicorp/go-rootcerts v1.0.0/go.mod h1:K6zTfqpRlCUIjkwsN4Z+hiSfzSTQa6eBIzfwKfwNnHU= +github.com/hashicorp/go-sockaddr v1.0.0/go.mod h1:7Xibr9yA9JjQq1JpNB2Vw7kxv8xerXegt+ozgdvDeDU= +github.com/hashicorp/go-syslog v1.0.0/go.mod h1:qPfqrKkXGihmCqbJM2mZgkZGvKG1dFdvsLplgctolz4= github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= +github.com/hashicorp/go-uuid v1.0.1/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= github.com/hashicorp/go-uuid v1.0.3 h1:2gKiV6YVmrJ1i2CKKa9obLvRieoRGviZFL26PcT/Co8= github.com/hashicorp/go-uuid v1.0.3/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= github.com/hashicorp/go-version v1.2.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= github.com/hashicorp/go-version v1.3.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= github.com/hashicorp/go-version v1.4.0 h1:aAQzgqIrRKRa7w75CKpbBxYsmUoPjzVm1W59ca1L0J4= github.com/hashicorp/go-version v1.4.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= +github.com/hashicorp/go.net v0.0.1/go.mod h1:hjKkEWcCURg++eb33jQU7oqQcI9XDCnUzHA0oac0k90= github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/hc-install v0.3.2 h1:oiQdJZvXmkNcRcEOOfM5n+VTsvNjWQeOjfAoO6dKSH8= github.com/hashicorp/hc-install v0.3.2/go.mod h1:xMG6Tr8Fw1WFjlxH0A9v61cW15pFwgEGqEz0V4jisHs= +github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= github.com/hashicorp/hcl/v2 v2.12.0 h1:PsYxySWpMD4KPaoJLnsHwtK5Qptvj/4Q6s0t4sUxZf4= github.com/hashicorp/hcl/v2 v2.12.0/go.mod h1:FwWsfWEjyV/CMj8s/gqAuiviY72rJ1/oayI9WftqcKg= github.com/hashicorp/logutils v1.0.0 h1:dLEQVugN8vlakKOUE3ihGLTZJRB4j+M2cdTm/ORI65Y= github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64= +github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0mNTz8vQ= +github.com/hashicorp/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I= +github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc= github.com/hashicorp/terraform-exec v0.16.1 h1:NAwZFJW2L2SaCBVZoVaH8LPImLOGbPLkSHy0IYbs2uE= github.com/hashicorp/terraform-exec v0.16.1/go.mod h1:aj0lVshy8l+MHhFNoijNHtqTJQI3Xlowv5EOsEaGO7M= github.com/hashicorp/terraform-json v0.13.0 h1:Li9L+lKD1FO5RVFRM1mMMIBDoUHslOniyEi5CM+FWGY= @@ -239,93 +619,349 @@ github.com/hashicorp/terraform-svchost v0.0.0-20200729002733-f050f53b9734/go.mod github.com/hashicorp/yamux v0.0.0-20180604194846-3520598351bb/go.mod h1:+NfK9FKeTrX5uv1uIXGdwYDTeHna2qgaIlx54MXqjAM= github.com/hashicorp/yamux v0.0.0-20181012175058-2f1d1f20f75d h1:kJCB4vdITiW1eC1vq2e6IsrXKrZit1bv/TDYFGMp4BQ= github.com/hashicorp/yamux v0.0.0-20181012175058-2f1d1f20f75d/go.mod h1:+NfK9FKeTrX5uv1uIXGdwYDTeHna2qgaIlx54MXqjAM= +github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= +github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= +github.com/imdario/mergo v0.3.5/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= +github.com/imdario/mergo v0.3.8/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= +github.com/imdario/mergo v0.3.10/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= +github.com/imdario/mergo v0.3.11/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= github.com/imdario/mergo v0.3.12 h1:b6R2BslTbIEToALKP7LxUvijTsNI9TAe80pLWN2g/HU= github.com/imdario/mergo v0.3.12/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= +github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= +github.com/intel/goresctrl v0.2.0/go.mod h1:+CZdzouYFn5EsxgqAQTEzMfwKwuc0fVdMrT9FCCAVRQ= +github.com/j-keck/arping v0.0.0-20160618110441-2cf9dc699c56/go.mod h1:ymszkNOg6tORTn+6F6j+Jc8TOr5osrynvN6ivFWZ2GA= +github.com/j-keck/arping v1.0.2/go.mod h1:aJbELhR92bSk7tp79AWM/ftfc90EfEi2bQJrbBFOsPw= github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 h1:BQSFePA1RWJOlocH6Fxy8MmwDt+yVQYULKfN0RoTN8A= github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99/go.mod h1:1lJo3i6rXxKeerYnT8Nvf0QmHCRC1n8sfWVwXF2Frvo= github.com/jessevdk/go-flags v1.5.0/go.mod h1:Fw0T6WPc1dYxT4mKEZRfG5kJhaTDP9pj1c2EWnYs/m4= github.com/jhump/protoreflect v1.6.0 h1:h5jfMVslIg6l29nsMs0D8Wj17RDVdNYti0vDN/PZZoE= github.com/jhump/protoreflect v1.6.0/go.mod h1:eaTn3RZAmMBcV0fifFvlm6VHNz3wSkYyXYWUh7ymB74= +github.com/jmespath/go-jmespath v0.0.0-20160202185014-0b12d6b521d8/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= +github.com/jmespath/go-jmespath v0.0.0-20160803190731-bd40a432e4c7/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= +github.com/joefitzgerald/rainbow-reporter v0.1.0/go.mod h1:481CNgqmVHQZzdIbN52CupLJyoVwB10FQ/IQlF1pdL8= +github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= +github.com/jonboulle/clockwork v0.2.2/go.mod h1:Pkfl5aHPm1nk2H9h0bjmnJD/BcgbGXUBGnn1kMkgxc8= +github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= +github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4= +github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= +github.com/json-iterator/go v1.1.7/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/json-iterator/go v1.1.11/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= +github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= +github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= +github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM= github.com/kevinburke/ssh_config v0.0.0-20201106050909-4977a11b4351 h1:DowS9hvgyYSX4TO5NpyC606/Z4SxnNYbT+WX27or6Ck= github.com/kevinburke/ssh_config v0.0.0-20201106050909-4977a11b4351/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM= +github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q= +github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00= +github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= +github.com/klauspost/compress v1.11.3/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= +github.com/klauspost/compress v1.11.13/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= +github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= +github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= +github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= +github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= github.com/kr/pretty v0.2.1 h1:Fmg33tUaq4/8ym9TJN1x7sLJnHVwhP33CNkpYV/7rwI= github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= +github.com/kr/pty v1.1.5/go.mod h1:9r2w37qlBe7rQ6e1fg1S/9xpWHSnaqNdHD3WcMdbPDA= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/kylelemons/godebug v0.0.0-20170820004349-d65d576e9348/go.mod h1:B69LEHPfb2qLo0BaaOLcbitczOKLWTsrBG9LczfCD4k= github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= +github.com/linuxkit/virtsock v0.0.0-20201010232012-f8cee7dfc7a3/go.mod h1:3r6x7q95whyfWQpmGZTu3gk3v2YkMi05HEzl7Tf7YEo= +github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= +github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= github.com/magiconair/properties v1.8.5 h1:b6kJs+EmPFMYGkow9GiUyCyOvIwYetYJ3fSaWak/Gls= +github.com/magiconair/properties v1.8.5/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60= +github.com/mailru/easyjson v0.0.0-20160728113105-d5b7844b561a/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= +github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= +github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= +github.com/mailru/easyjson v0.7.0/go.mod h1:KAzv3t3aY1NaHWoQz1+4F1ccyAH66Jk7yos7ldAVICs= +github.com/mailru/easyjson v0.7.6/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= +github.com/marstr/guid v1.1.0/go.mod h1:74gB1z2wpxxInTG6yaqA7KrtM0NZ+RbrcqDvYHefzho= github.com/matryer/is v1.2.0/go.mod h1:2fLPjFQM9rhQ15aVEtbuwhJinnOqrmgXPNdZsdwlWXA= +github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= github.com/mattn/go-colorable v0.1.8 h1:c1ghPdyEDarC70ftn0y+A/Ee++9zz8ljHG1b13eJ0s8= github.com/mattn/go-colorable v0.1.8/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= +github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= +github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= github.com/mattn/go-isatty v0.0.10/go.mod h1:qgIWMr58cqv1PHHyhnkY9lrL7etaEgOFcMEpPG5Rm84= github.com/mattn/go-isatty v0.0.12 h1:wuysRhFDzyxgEmMf5xjvJ2M9dZoWAXNNr5LSBS7uHXY= github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= +github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= +github.com/mattn/go-shellwords v1.0.3/go.mod h1:3xCvwCdWdlDJUrvuMn7Wuy9eWs4pE8vqg+NOMyg4B2o= +github.com/mattn/go-shellwords v1.0.6/go.mod h1:3xCvwCdWdlDJUrvuMn7Wuy9eWs4pE8vqg+NOMyg4B2o= +github.com/mattn/go-shellwords v1.0.12/go.mod h1:EZzvwXDESEeg03EKmM+RmDnNOPKG4lLtQsUlTZDWQ8Y= +github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= +github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= +github.com/maxbrunsfeld/counterfeiter/v6 v6.2.2/go.mod h1:eD9eIE7cdwcMi9rYluz88Jz2VyhSmden33/aXg4oVIY= +github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= +github.com/miekg/pkcs11 v1.0.3/go.mod h1:XsNlhZGX73bx86s2hdc/FuaLm2CPZJemRLMA+WTFxgs= +github.com/mistifyio/go-zfs v2.1.2-0.20190413222219-f784269be439+incompatible/go.mod h1:8AuVvqP/mXw1px98n46wfvcGfQ4ci2FwoAjKYxuo3Z4= +github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc= github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s= +github.com/mitchellh/go-homedir v1.0.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y= github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= github.com/mitchellh/go-testing-interface v0.0.0-20171004221916-a61a99592b77/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI= +github.com/mitchellh/go-testing-interface v1.0.0/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI= github.com/mitchellh/go-testing-interface v1.14.1 h1:jrgshOhYAUVNMAJiKbEu7EqAwgJJ2JqpQmpLJOu07cU= github.com/mitchellh/go-testing-interface v1.14.1/go.mod h1:gfgS7OtZj6MA4U1UrDRp04twqAjfvlZyCfX3sDjEym8= github.com/mitchellh/go-wordwrap v0.0.0-20150314170334-ad45545899c7/go.mod h1:ZXFpozHsX6DPmq2I0TCekCxypsnAUbP2oI0UX1GXzOo= github.com/mitchellh/go-wordwrap v1.0.0 h1:6GlHJ/LTGMrIJbwgdqdl2eEH8o+Exx/0m8ir9Gns0u4= github.com/mitchellh/go-wordwrap v1.0.0/go.mod h1:ZXFpozHsX6DPmq2I0TCekCxypsnAUbP2oI0UX1GXzOo= +github.com/mitchellh/gox v0.4.0/go.mod h1:Sd9lOJ0+aimLBi73mGofS1ycjY8lL3uZM3JPS42BGNg= +github.com/mitchellh/iochan v1.0.0/go.mod h1:JwYml1nuB7xOzsp52dPpHFffvOCDupsG0QubkSMEySY= +github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= +github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY= github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= +github.com/mitchellh/osext v0.0.0-20151018003038-5e2d6d41470f/go.mod h1:OkQIRizQZAeMln+1tSwduZz7+Af5oFlKirV/MSYes2A= github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= github.com/mitchellh/reflectwalk v1.0.2/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= +github.com/moby/locker v1.0.1/go.mod h1:S7SDdo5zpBK84bzzVlKr2V0hz+7x9hWbYC/kq7oQppc= +github.com/moby/spdystream v0.2.0/go.mod h1:f7i0iNDQJ059oMTcWxx8MA/zKFIuD/lY+0GqbN2Wy8c= github.com/moby/sys/mount v0.2.0 h1:WhCW5B355jtxndN5ovugJlMFJawbUODuW8fSnEH6SSM= +github.com/moby/sys/mount v0.2.0/go.mod h1:aAivFE2LB3W4bACsUXChRHQ0qKWsetY4Y9V7sxOougM= +github.com/moby/sys/mountinfo v0.4.0/go.mod h1:rEr8tzG/lsIZHBtN/JjGG+LMYx9eXgW2JI+6q0qou+A= +github.com/moby/sys/mountinfo v0.4.1/go.mod h1:rEr8tzG/lsIZHBtN/JjGG+LMYx9eXgW2JI+6q0qou+A= github.com/moby/sys/mountinfo v0.5.0 h1:2Ks8/r6lopsxWi9m58nlwjaeSzUX9iiL1vj5qB/9ObI= +github.com/moby/sys/mountinfo v0.5.0/go.mod h1:3bMD3Rg+zkqx8MRYPi7Pyb0Ie97QEBmdxbhnCLlSvSU= +github.com/moby/sys/signal v0.6.0/go.mod h1:GQ6ObYZfqacOwTtlXvcmh9A26dVRul/hbOZn88Kg8Tg= +github.com/moby/sys/symlink v0.1.0/go.mod h1:GGDODQmbFOjFsXvfLVn3+ZRxkch54RkSiGqsZeMYowQ= +github.com/moby/sys/symlink v0.2.0/go.mod h1:7uZVF2dqJjG/NsClqul95CqKOBRQyYSNnJ6BMgR/gFs= +github.com/moby/term v0.0.0-20200312100748-672ec06f55cd/go.mod h1:DdlQx2hp0Ss5/fLikoLlEeIYiATotOjgB//nb973jeo= +github.com/moby/term v0.0.0-20210610120745-9d4ed1856297/go.mod h1:vgPCkQMyxTZ7IDy8SXRufE172gr8+K/JE/7hHFxHW3A= github.com/moby/term v0.0.0-20210619224110-3f7ff695adc6 h1:dcztxKSvZ4Id8iPpHERQBbIJfabdt4wUm5qy3wOL2Zc= -github.com/morikuni/aec v0.0.0-20170113033406-39771216ff4c h1:nXxl5PrvVm2L/wCy8dQu6DMTwH4oIuGN8GJDAlqDdVE= +github.com/moby/term v0.0.0-20210619224110-3f7ff695adc6/go.mod h1:E2VnQOmVuvZB6UYnnDB0qG5Nq/1tD9acaOpo6xmt0Kw= +github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= +github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= +github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= +github.com/morikuni/aec v0.0.0-20170113033406-39771216ff4c/go.mod h1:BbKIizmSmc5MMPqRYbxO4ZU0S0+P200+tUnFx7PXmsc= +github.com/morikuni/aec v1.0.0 h1:nP9CBfwrvYnBRgY6qfDQkygYDmYwOilePFkwzv4dU8A= +github.com/morikuni/aec v1.0.0/go.mod h1:BbKIizmSmc5MMPqRYbxO4ZU0S0+P200+tUnFx7PXmsc= +github.com/mrunalp/fileutils v0.5.0/go.mod h1:M1WthSahJixYnrXQl/DFQuteStB1weuxD2QJNHXfbSQ= +github.com/munnerz/goautoneg v0.0.0-20120707110453-a547fc61f48d/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= +github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= +github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= +github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= +github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f/go.mod h1:ZdcZmHo+o7JKHSa8/e818NopupXU1YMK5fe1lsApnBw= +github.com/ncw/swift v1.0.47/go.mod h1:23YIA4yWVnGwv2dQlN4bB7egfYX6YLn0Yo/S6zZO/ZM= github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= github.com/nsf/jsondiff v0.0.0-20200515183724-f29ed568f4ce h1:RPclfga2SEJmgMmz2k+Mg7cowZ8yv4Trqw9UsJby758= +github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= +github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU= github.com/oklog/run v1.0.0 h1:Ru7dDtJNOyC66gQ5dQmaCa0qIsAUFY3sFpK1Xk8igrw= github.com/oklog/run v1.0.0/go.mod h1:dlhp/R75TPv97u0XWUtDeV/lRKWPKSdTuV0TZvrmrQA= +github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= +github.com/olekukonko/tablewriter v0.0.0-20170122224234-a0225b3f23b5/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo= +github.com/onsi/ginkgo v0.0.0-20151202141238-7f8ab55aaf3b/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v0.0.0-20170829012221-11459a886d9c/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.8.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.10.1/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.10.3/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.11.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.12.0/go.mod h1:oUhWkIvk5aDxtKvDDuw8gItl8pKl42LzjC9KZE0HfGg= +github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk= +github.com/onsi/ginkgo v1.13.0/go.mod h1:+REjRxOmWfHCjfv9TTWB1jD1Frx4XydAD3zm1lskyM0= +github.com/onsi/ginkgo v1.14.0/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9klQyY= +github.com/onsi/ginkgo v1.16.4/go.mod h1:dX+/inL/fNMqNlz0e9LfyB9TswhZpCVdJM/Z6Vvnwo0= +github.com/onsi/gomega v0.0.0-20151007035656-2152b45fa28a/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA= +github.com/onsi/gomega v0.0.0-20170829124025-dcabb60a477c/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA= +github.com/onsi/gomega v1.5.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= +github.com/onsi/gomega v1.7.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= +github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= +github.com/onsi/gomega v1.9.0/go.mod h1:Ho0h+IUsWyvy1OpqCwxlQ/21gkhVunqlU8fDGcoTdcA= +github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= +github.com/onsi/gomega v1.10.3/go.mod h1:V9xEwhxec5O8UDM77eCW8vLymOMltsqPVYWrpDsH8xc= +github.com/onsi/gomega v1.15.0/go.mod h1:cIuvLEne0aoVhAgh/O6ac0Op8WWw9H6eYCriF+tEHG0= +github.com/opencontainers/go-digest v0.0.0-20170106003457-a6d0ee40d420/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s= +github.com/opencontainers/go-digest v0.0.0-20180430190053-c9281466c8b2/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s= +github.com/opencontainers/go-digest v1.0.0-rc1/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s= +github.com/opencontainers/go-digest v1.0.0-rc1.0.20180430190053-c9281466c8b2/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s= github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= +github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= +github.com/opencontainers/image-spec v1.0.0/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= +github.com/opencontainers/image-spec v1.0.1/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= +github.com/opencontainers/image-spec v1.0.2-0.20211117181255-693428a734f5/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= +github.com/opencontainers/image-spec v1.0.2/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= github.com/opencontainers/image-spec v1.0.3-0.20211202183452-c5a74bcca799 h1:rc3tiVYb5z54aKaDfakKn0dDjIyPpTtszkjuMzyt7ec= +github.com/opencontainers/image-spec v1.0.3-0.20211202183452-c5a74bcca799/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= +github.com/opencontainers/runc v0.0.0-20190115041553-12f6a991201f/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U= +github.com/opencontainers/runc v0.1.1/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U= +github.com/opencontainers/runc v1.0.0-rc8.0.20190926000215-3e425f80a8c9/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U= +github.com/opencontainers/runc v1.0.0-rc9/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U= +github.com/opencontainers/runc v1.0.0-rc93/go.mod h1:3NOsor4w32B2tC0Zbl8Knk4Wg84SM2ImC1fxBuqJ/H0= +github.com/opencontainers/runc v1.0.2/go.mod h1:aTaHFFwQXuA71CiyxOdFFIorAoemI04suvGRQFzWTD0= +github.com/opencontainers/runc v1.1.0/go.mod h1:Tj1hFw6eFWp/o33uxGf5yF2BX5yz2Z6iptFpuvbbKqc= github.com/opencontainers/runc v1.1.2 h1:2VSZwLx5k/BfsBxMMipG/LYUnmqOD/BPkIVgQUcTlLw= +github.com/opencontainers/runc v1.1.2/go.mod h1:Tj1hFw6eFWp/o33uxGf5yF2BX5yz2Z6iptFpuvbbKqc= +github.com/opencontainers/runtime-spec v0.1.2-0.20190507144316-5b71a03e2700/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= +github.com/opencontainers/runtime-spec v1.0.1/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= +github.com/opencontainers/runtime-spec v1.0.2-0.20190207185410-29686dbc5559/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= +github.com/opencontainers/runtime-spec v1.0.2/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= +github.com/opencontainers/runtime-spec v1.0.3-0.20200929063507-e6143ca7d51d/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= +github.com/opencontainers/runtime-spec v1.0.3-0.20210326190908-1c3f411f0417/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= +github.com/opencontainers/runtime-tools v0.0.0-20181011054405-1d69bd0f9c39/go.mod h1:r3f7wjNzSs2extwzU3Y+6pKfobzPh+kKFJ3ofN+3nfs= +github.com/opencontainers/selinux v1.6.0/go.mod h1:VVGKuOLlE7v4PJyT6h7mNWvq1rzqiriPsEqVhc+svHE= +github.com/opencontainers/selinux v1.8.0/go.mod h1:RScLhm78qiWa2gbVCcGkC7tCGdgk3ogry1nUQF8Evvo= +github.com/opencontainers/selinux v1.8.2/go.mod h1:MUIHuUEvKB1wtJjQdOyYRgOnLD2xAPP8dBsCoU0KuF8= +github.com/opencontainers/selinux v1.10.0/go.mod h1:2i0OySw99QjzBBQByd1Gr9gSjvuho1lHsJxIJ3gGbJI= +github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= +github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= +github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= +github.com/pelletier/go-toml v1.8.1/go.mod h1:T2/BmBdy8dvIRq1a/8aqjN41wvWlN4lrapLU/GW4pbc= +github.com/pelletier/go-toml v1.9.3/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= +github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod h1:uqqh8zWWbv1HBMNONnaR/tNboyR3/BZd58JJSHlUSCU= +github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pkg/errors v0.8.1-0.20171018195549-f15c970de5b7/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI= +github.com/pquerna/cachecontrol v0.0.0-20171018203845-0dec1b30a021/go.mod h1:prYjPmNq4d1NPVmpShWobRqXY3q7Vp+80DqgxxUrUIA= +github.com/prometheus/client_golang v0.0.0-20180209125602-c332b6f63c06/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= +github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= +github.com/prometheus/client_golang v0.9.3/go.mod h1:/TN21ttK/J9q6uSwhBd54HahCDft0ttaMvbicHlPoso= +github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= +github.com/prometheus/client_golang v1.1.0/go.mod h1:I1FGZT9+L76gKKOs5djB6ezCbFQP1xR9D75/vuwEF3g= +github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M= +github.com/prometheus/client_golang v1.11.0/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= +github.com/prometheus/client_model v0.0.0-20171117100541-99fa1f4be8e5/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= +github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= +github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/pulumi/terraform-provider-confluent v0.0.0-20220913130044-4dc69b9e3c05 h1:sAZouLnwCD96irVGZ1B3Lqm45SEAyiKBulECqxZt384= -github.com/pulumi/terraform-provider-confluent v0.0.0-20220913130044-4dc69b9e3c05/go.mod h1:kIoKT2FHgbUWYTHGCEa6RKb6fY4cGK+KHRsI8yEDpsM= +github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/prometheus/common v0.0.0-20180110214958-89604d197083/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= +github.com/prometheus/common v0.0.0-20181113130724-41aa239b4cce/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= +github.com/prometheus/common v0.4.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= +github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= +github.com/prometheus/common v0.6.0/go.mod h1:eBmuwkDJBwy6iBfxCBob6t6dR6ENT/y+J+Zk0j9GMYc= +github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo= +github.com/prometheus/common v0.26.0/go.mod h1:M7rCNAaPfAosfx8veZJCuw84e35h3Cfd9VFqTh1DIvc= +github.com/prometheus/common v0.30.0/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= +github.com/prometheus/procfs v0.0.0-20180125133057-cb4147076ac7/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= +github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= +github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= +github.com/prometheus/procfs v0.0.0-20190522114515-bc1a522cf7b1/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= +github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= +github.com/prometheus/procfs v0.0.3/go.mod h1:4A/X28fw3Fc593LaREMrKMqOKvUAntwMDaekg4FpcdQ= +github.com/prometheus/procfs v0.0.5/go.mod h1:4A/X28fw3Fc593LaREMrKMqOKvUAntwMDaekg4FpcdQ= +github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+GxbHq6oeK9A= +github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= +github.com/prometheus/procfs v0.2.0/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= +github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= +github.com/prometheus/procfs v0.7.3/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= +github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= +github.com/pulumi/terraform-provider-confluent v0.0.0-20220913141559-0af345d42281 h1:aprhtfsd2VuTKduDlbIfaUlU8eYA3kercGKLtzNLqj0= +github.com/pulumi/terraform-provider-confluent v0.0.0-20220913141559-0af345d42281/go.mod h1:DHLQIohK1K5rZbdGNO8MJ8OIT+W4CJbcBYRwlJmYP30= +github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= +github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= +github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= +github.com/safchain/ethtool v0.0.0-20190326074333-42ed695e3de8/go.mod h1:Z0q5wiBQGYcxhMZ6gUqHn6pYNLypFAvaL3UvgZLR0U4= +github.com/safchain/ethtool v0.0.0-20210803160452-9aa261dae9b1/go.mod h1:Z0q5wiBQGYcxhMZ6gUqHn6pYNLypFAvaL3UvgZLR0U4= github.com/samber/lo v1.20.0 h1:20FtphdORvp4yxklurzZv2HX+g+0urEMQziODC5bV70= github.com/samber/lo v1.20.0/go.mod h1:2I7tgIv8Q1SG2xEIkRq0F2i2zgxVpnyPOP0d3Gj2r+A= +github.com/satori/go.uuid v1.2.0/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0= +github.com/sclevine/agouti v3.0.0+incompatible/go.mod h1:b4WX9W9L1sfQKXeJf1mUTLZKJ48R1S7H23Ji7oFO5Bw= +github.com/sclevine/spec v1.2.0/go.mod h1:W4J29eT/Kzv7/b9IWLB055Z+qvVC9vt0Arko24q7p+U= +github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= github.com/sebdah/goldie v1.0.0/go.mod h1:jXP4hmWywNEwZzhMuv2ccnqTSFpuq8iyQhtQdkkZBH4= +github.com/seccomp/libseccomp-golang v0.9.1/go.mod h1:GbW5+tmTXfcxTToHLXlScSlAvWlF4P2Ca7zGrPiEpWo= +github.com/seccomp/libseccomp-golang v0.9.2-0.20210429002308-3879420cc921/go.mod h1:JA8cRccbGaA1s33RQf7Y1+q9gHmZX1yB/z9WDN1C6fg= github.com/sergi/go-diff v1.0.0/go.mod h1:0CfEIISq7TuYL3j771MWULgwwjU+GofnZX9QAmXWZgo= github.com/sergi/go-diff v1.1.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM= github.com/sergi/go-diff v1.2.0 h1:XU+rvMAioB0UC3q1MFrIQy4Vo5/4VsRDQQXHsEya6xQ= +github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= +github.com/sirupsen/logrus v1.0.4-0.20170822132746-89742aefa4b2/go.mod h1:pMByvHTf9Beacp5x1UXfOR9xyW/9antXMhjMPG0dEzc= +github.com/sirupsen/logrus v1.0.6/go.mod h1:pMByvHTf9Beacp5x1UXfOR9xyW/9antXMhjMPG0dEzc= +github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q= +github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= +github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88= +github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/sirupsen/logrus v1.8.1 h1:dJKuHgqk1NNQlqoA6BTlM1Wf9DOH3NBjQyu0h9+AZZE= +github.com/sirupsen/logrus v1.8.1/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= +github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= +github.com/smartystreets/goconvey v0.0.0-20190330032615-68dc04aab96a/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= +github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= +github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM= +github.com/soheilhy/cmux v0.1.5/go.mod h1:T7TcVDs9LWfQgPlPsdngu6I6QIoyIFZDDC6sNE1GqG0= github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= +github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ= +github.com/spf13/afero v1.2.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk= +github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= +github.com/spf13/cobra v0.0.2-0.20171109065643-2da4a54c5cee/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= +github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= +github.com/spf13/cobra v1.0.0/go.mod h1:/6GTrnGXV9HjY+aR4k0oJ5tcvakLuG6EuKReYlHNrgE= +github.com/spf13/cobra v1.1.3/go.mod h1:pGADOWyqRD/YMrPZigI/zbliZ2wVD/23d+is3pSWzOo= +github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= +github.com/spf13/pflag v0.0.0-20170130214245-9ff6c6923cff/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= +github.com/spf13/pflag v1.0.1-0.20171106142849-4c012f6dcd95/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= +github.com/spf13/pflag v1.0.1/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.2/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= +github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= +github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= +github.com/spf13/viper v1.4.0/go.mod h1:PTJ7Z/lr49W6bUbkmS1V3by4uWynFiR9p7+dSq/yZzE= +github.com/spf13/viper v1.7.0/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg= +github.com/stefanberger/go-pkcs11uri v0.0.0-20201008174630-78d3cae3a980/go.mod h1:AO3tvPzVZ/ayst6UlUKUv6rcPQInYe3IknH3jYhAKu8= +github.com/stoewer/go-strcase v1.2.0/go.mod h1:IBiWB2sKIp3wVVQ3Y035++gc+knqhUQag1KpM8ahLw8= +github.com/stretchr/objx v0.0.0-20180129172003-8a3f7159479f/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE= +github.com/stretchr/testify v0.0.0-20180303142811-b89eecf5ca5d/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= +github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw= +github.com/syndtr/gocapability v0.0.0-20170704070218-db04d3cc01c8/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww= +github.com/syndtr/gocapability v0.0.0-20180916011248-d98352740cb2/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww= +github.com/syndtr/gocapability v0.0.0-20200815063812-42c35b437635/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww= +github.com/tchap/go-patricia v2.2.6+incompatible/go.mod h1:bmLyhP68RS6kStMGxByiQ23RP/odRBOTVjwp2cDyi6I= github.com/testcontainers/testcontainers-go v0.13.0 h1:OUujSlEGsXVo/ykPVZk3KanBNGN0TYb/7oKIPVn15JA= +github.com/testcontainers/testcontainers-go v0.13.0/go.mod h1:z1abufU633Eb/FmSBTzV6ntZAC1eZBYPtaFsn4nPuDk= github.com/thoas/go-funk v0.9.1 h1:O549iLZqPpTUQ10ykd26sZhzD+rmR5pWhuElrhbC20M= +github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= +github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= +github.com/tmc/grpc-websocket-proxy v0.0.0-20201229170055-e5319fda7802/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= +github.com/tv42/httpunix v0.0.0-20191220191345-2ba4b9c3382c/go.mod h1:hzIxponao9Kjc7aWznkXaL4U4TWaDSs8zcsY4Ka08nM= +github.com/ugorji/go v1.1.4/go.mod h1:uQMGLiO92mf5W77hV/PUCpI3pbzQx3CRekS0kk+RGrc= +github.com/urfave/cli v0.0.0-20171014202726-7bc6a0acffa5/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= +github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= +github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= +github.com/urfave/cli v1.22.2/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= +github.com/vishvananda/netlink v0.0.0-20181108222139-023a6dafdcdf/go.mod h1:+SR5DhBJrl6ZM7CoCKvpw5BKroDKQ+PJqOg65H/2ktk= +github.com/vishvananda/netlink v1.1.0/go.mod h1:cTgwzPIzzgDAYoQrMm0EdrjRUBkTqKYppBueQtXaqoE= +github.com/vishvananda/netlink v1.1.1-0.20201029203352-d40f9887b852/go.mod h1:twkDnbuQxJYemMlGd4JFIcuhgX83tXhKS2B/PRMpOho= +github.com/vishvananda/netlink v1.1.1-0.20210330154013-f5de75959ad5/go.mod h1:twkDnbuQxJYemMlGd4JFIcuhgX83tXhKS2B/PRMpOho= +github.com/vishvananda/netns v0.0.0-20180720170159-13995c7128cc/go.mod h1:ZjcWmFBXmLKZu9Nxj3WKYEafiSqer2rnvPr0en9UNpI= +github.com/vishvananda/netns v0.0.0-20191106174202-0a2b9b5464df/go.mod h1:JP3t17pCcGlemwknint6hfoeCVQrEMVwxRLRjXpq+BU= +github.com/vishvananda/netns v0.0.0-20200728191858-db3c7e526aae/go.mod h1:DD4vA1DwXk04H54A1oHXtwZmA0grkVMdPxx/VGLCah0= +github.com/vishvananda/netns v0.0.0-20210104183010-2eb08e3e575f/go.mod h1:DD4vA1DwXk04H54A1oHXtwZmA0grkVMdPxx/VGLCah0= github.com/vmihailenco/msgpack v3.3.3+incompatible/go.mod h1:fy3FlTQTDXWkZ7Bh6AcGMlsjHatGryHQYUTf1ShIgkk= github.com/vmihailenco/msgpack v4.0.4+incompatible h1:dSLoQfGFAo3F6OoNhwUmLwVgaUXK79GlxNBwueZn0xI= github.com/vmihailenco/msgpack v4.0.4+incompatible/go.mod h1:fy3FlTQTDXWkZ7Bh6AcGMlsjHatGryHQYUTf1ShIgkk= @@ -334,11 +970,24 @@ github.com/vmihailenco/msgpack/v4 v4.3.12/go.mod h1:gborTTJjAo/GWTqqRjrLCn9pgNN+ github.com/vmihailenco/tagparser v0.1.1 h1:quXMXlA39OCbd2wAdTsGDlK9RkOk6Wuw+x37wVyIuWY= github.com/vmihailenco/tagparser v0.1.1/go.mod h1:OeAg3pn3UbLjkWt+rN9oFYB6u/cQgqMEUPoW2WPyhdI= github.com/walkerus/go-wiremock v1.2.0 h1:c8Y6ihQdTact5Z7NvYLBTu8n19hXocEDvqOgTbkBwhU= +github.com/walkerus/go-wiremock v1.2.0/go.mod h1:LLgrMO0k+kiwm5YvnXbvNL/EgqBKFcOoJXpA+ZwuKDk= +github.com/willf/bitset v1.1.11-0.20200630133818-d5bec3311243/go.mod h1:RjeCKbqT1RxIR/KWY6phxZiaY1IyutSBfGjNPySAYV4= +github.com/willf/bitset v1.1.11/go.mod h1:83CECat5yLh5zVOf4P1ErAgKA5UDvKtgyUABdr3+MjI= github.com/xanzy/ssh-agent v0.3.0 h1:wUMzuKtKilRgBAD1sUb8gOwwRr2FGoBVumcjoOACClI= github.com/xanzy/ssh-agent v0.3.0/go.mod h1:3s9xbODqPuuhK9JV1R321M/FlMZSBvE5aY6eAcqrDh0= +github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU= +github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415/go.mod h1:GwrjFmJcFw6At/Gs6z4yjiIwzuJ1/+UwLxMQDVQXShQ= +github.com/xeipuuv/gojsonschema v0.0.0-20180618132009-1d523034197f/go.mod h1:5yf86TLmAcydyeJq5YvxkGPE2fm/u4myDekKRoLuqhs= +github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= +github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q= github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= +github.com/yvasiyarov/go-metrics v0.0.0-20140926110328-57bccd1ccd43/go.mod h1:aX5oPXxHm3bOH+xeAttToC8pqch2ScQN/JoXYupl6xs= +github.com/yvasiyarov/gorelic v0.0.0-20141212073537-a9bba5b9ab50/go.mod h1:NUSPSUX/bi6SeDMUh6brw0nXpxHnc96TguQh0+r/ssA= +github.com/yvasiyarov/newrelic_platform_go v0.0.0-20140908184405-b21fdbd4370f/go.mod h1:GlGEuHIJweS1mbCqG+7vt2nvWLzLLnRHbXz5JKd/Qbg= github.com/zclconf/go-cty v1.1.0/go.mod h1:xnAOWiHeOqg2nWS62VtQ7pbOu17FtxJNW8RLEih+O3s= github.com/zclconf/go-cty v1.2.0/go.mod h1:hOPWgoHbaTUnI5k4D2ld+GRpFJSCe6bCM7m1q/N4PQ8= github.com/zclconf/go-cty v1.8.0/go.mod h1:vVKLxnk3puL4qRAv72AO+W99LUD4da90g3uUAzyuvAk= @@ -346,20 +995,73 @@ github.com/zclconf/go-cty v1.9.1/go.mod h1:vVKLxnk3puL4qRAv72AO+W99LUD4da90g3uUA github.com/zclconf/go-cty v1.10.0 h1:mp9ZXQeIcN8kAwuqorjH+Q+njbJKjLrvB2yIh4q7U+0= github.com/zclconf/go-cty v1.10.0/go.mod h1:vVKLxnk3puL4qRAv72AO+W99LUD4da90g3uUAzyuvAk= github.com/zclconf/go-cty-debug v0.0.0-20191215020915-b22d67c1ba0b/go.mod h1:ZRKQfBXbGkpdV6QMzT3rU1kSTAnfu1dO8dPKjYprgj8= +go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= +go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= +go.etcd.io/bbolt v1.3.5/go.mod h1:G5EMThwa9y8QZGBClrRx5EY+Yw9kAhnjy3bSjsnlVTQ= +go.etcd.io/bbolt v1.3.6/go.mod h1:qXsaaIqmgQH0T+OPdb99Bf+PKfBBQVAdyD6TY9G8XM4= +go.etcd.io/etcd v0.5.0-alpha.5.0.20200910180754-dd1b699fc489/go.mod h1:yVHk9ub3CSBatqGNg7GRmsnfLWtoW60w4eDYfh7vHDg= +go.etcd.io/etcd/api/v3 v3.5.0/go.mod h1:cbVKeC6lCfl7j/8jBhAK6aIYO9XOjdptoxU/nLQcPvs= +go.etcd.io/etcd/client/pkg/v3 v3.5.0/go.mod h1:IJHfcCEKxYu1Os13ZdwCwIUTUVGYTSAM3YSwc9/Ac1g= +go.etcd.io/etcd/client/v2 v2.305.0/go.mod h1:h9puh54ZTgAKtEbut2oe9P4L/oqKCVB6xsXlzd7alYQ= +go.etcd.io/etcd/client/v3 v3.5.0/go.mod h1:AIKXXVX/DQXtfTEqBryiLTUXwON+GuvO6Z7lLS/oTh0= +go.etcd.io/etcd/pkg/v3 v3.5.0/go.mod h1:UzJGatBQ1lXChBkQF0AuAtkRQMYnHubxAEYIrC3MSsE= +go.etcd.io/etcd/raft/v3 v3.5.0/go.mod h1:UFOHSIvO/nKwd4lhkwabrTD3cqW5yVyYYf/KlD00Szc= +go.etcd.io/etcd/server/v3 v3.5.0/go.mod h1:3Ah5ruV+M+7RZr0+Y/5mNLwC+eQlni+mQmOVdCRJoS4= +go.mozilla.org/pkcs7 v0.0.0-20200128120323-432b2356ecb1/go.mod h1:SNgMg+EgDFwmvSmLRTNKC5fegJjB7v23qTQ0XLGUNHk= go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= +go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= go.opencensus.io v0.23.0 h1:gqCw0LfLxScz8irSi8exQc7fyQ0fKQU/qnC/X8+V/1M= +go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= +go.opentelemetry.io/contrib v0.20.0/go.mod h1:G/EtFaa6qaN7+LxqfIAT3GiZa7Wv5DTBUzl5H4LY0Kc= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.20.0/go.mod h1:oVGt1LRbBOBq1A5BQLlUg9UaU/54aiHw8cgjV3aWZ/E= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.28.0/go.mod h1:vEhqr0m4eTc+DWxfsXoXue2GBgV2uUwVznkGIHW/e5w= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.20.0/go.mod h1:2AboqHi0CiIZU0qwhtUfCYD1GeUzvvIXWNkhDt7ZMG4= +go.opentelemetry.io/otel v0.20.0/go.mod h1:Y3ugLH2oa81t5QO+Lty+zXf8zC9L26ax4Nzoxm/dooo= +go.opentelemetry.io/otel v1.3.0/go.mod h1:PWIKzi6JCp7sM0k9yZ43VX+T345uNbAkDKwHVjb2PTs= +go.opentelemetry.io/otel/exporters/otlp v0.20.0/go.mod h1:YIieizyaN77rtLJra0buKiNBOm9XQfkPEKBeuhoMwAM= +go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.3.0/go.mod h1:VpP4/RMn8bv8gNo9uK7/IMY4mtWLELsS+JIP0inH0h4= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.3.0/go.mod h1:hO1KLR7jcKaDDKDkvI9dP/FIhpmna5lkqPUQdEjFAM8= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.3.0/go.mod h1:keUU7UfnwWTWpJ+FWnyqmogPa82nuU5VUANFq49hlMY= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.3.0/go.mod h1:QNX1aly8ehqqX1LEa6YniTU7VY9I6R3X/oPxhGdTceE= +go.opentelemetry.io/otel/metric v0.20.0/go.mod h1:598I5tYlH1vzBjn+BTuhzTCSb/9debfNp6R3s7Pr1eU= +go.opentelemetry.io/otel/oteltest v0.20.0/go.mod h1:L7bgKf9ZB7qCwT9Up7i9/pn0PWIa9FqQ2IQ8LoxiGnw= +go.opentelemetry.io/otel/sdk v0.20.0/go.mod h1:g/IcepuwNsoiX5Byy2nNV0ySUF1em498m7hBWC279Yc= +go.opentelemetry.io/otel/sdk v1.3.0/go.mod h1:rIo4suHNhQwBIPg9axF8V9CA72Wz2mKF1teNrup8yzs= +go.opentelemetry.io/otel/sdk/export/metric v0.20.0/go.mod h1:h7RBNMsDJ5pmI1zExLi+bJK+Dr8NQCh0qGhm1KDnNlE= +go.opentelemetry.io/otel/sdk/metric v0.20.0/go.mod h1:knxiS8Xd4E/N+ZqKmUPf3gTTZ4/0TjTXukfxjzSTpHE= +go.opentelemetry.io/otel/trace v0.20.0/go.mod h1:6GjCW8zgDjwGHGa6GkyeB8+/5vjT16gUEi0Nf1iBdgw= +go.opentelemetry.io/otel/trace v1.3.0/go.mod h1:c/VDhno8888bvQYmbYLqe41/Ldmr/KKunbvWM4/fEjk= go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= +go.opentelemetry.io/proto/otlp v0.11.0/go.mod h1:QpEjXPrNQzrFDZgoTo49dgHR9RYRSrg3NAKnUGl9YpQ= +go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= +go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= +go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= +go.uber.org/goleak v1.1.10/go.mod h1:8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A= +go.uber.org/goleak v1.1.12/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ= +go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= +go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= +go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= +go.uber.org/zap v1.17.0/go.mod h1:MXVU+bhUf/A7Xi2HNOnopQOrmycQ5Ih87HtOu4q5SSo= +golang.org/x/crypto v0.0.0-20171113213409-9f005a07e0d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20181009213950-7c1a557ab941/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190219172222-a4c6cb3142f2/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190426145343-a29dc8fdc734/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20200728195943-123391ffb6de/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20201002170205-7f63de1d35b0/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20210220033148-5ea612d1eb83/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= golang.org/x/crypto v0.0.0-20210616213533-5ff15b29337e/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= @@ -389,6 +1091,8 @@ golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHl golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs= golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/lint v0.0.0-20210508222113-6edffad5e616/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= @@ -397,20 +1101,35 @@ golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzB golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/net v0.0.0-20180530234432-1e491301e022/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180811021610-c39426892332/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181011144130-49bb7cea24b1/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181023162649-9b4f9f5ad519/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181201002055-351d144fa1fc/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190522155817-f3200d17e092/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= +golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190619014844-b5b0513f8c1b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190813141303-74dc4d7220e7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20191004110552-13f9640d40b9/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20191009170851-d66e71096ffb/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= @@ -422,14 +1141,29 @@ golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/ golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200506145744-7e3656a0809f/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/net v0.0.0-20201006153459-a7d1128ccaa0/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20201031054903-ff519b6c9102/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20201202161906-c7110b5ffcbb/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20201209123823-ac852fbbde11/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc= golang.org/x/net v0.0.0-20210326060303-6b1517762897/go.mod h1:uSPa2vr4CLtc/ILN5odXGNXS6mhrKVzTaCXzk9m6W3k= golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= +golang.org/x/net v0.0.0-20210428140749-89ef3d95e781/go.mod h1:OJAsFXCWl8Ukc7SiCT/9KSuxbyM7479/AVlXFRxuMCk= +golang.org/x/net v0.0.0-20210520170846-37e1c6afe023/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20210825183410-e898025ed96a/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20211108170745-6635138e15ea/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20211209124913-491a49abca63/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20211216030914-fe4d6282115f h1:hEYJvxw1lSnWIl8X9ofsYMklzaDs90JI2az5YMd4fPM= golang.org/x/net v0.0.0-20211216030914-fe4d6282115f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= @@ -437,7 +1171,13 @@ golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4Iltr golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20200902213428-5d25da1a8d43/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20201109201403-9fd604954f58/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20201208152858-08078c50e5b5/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210218202405-ba52d332ba99/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210220000619-9bb904979d93/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210313182246-cd4f82c27b84/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f h1:Qmd2pbz05z7z6lm0DrgQVVPuBm92jqujBKMHMOlOQEw= golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -448,28 +1188,57 @@ golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181026203630-95b1ffbd15a5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190502175342-a43fa875dd82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190514135907-3a4b5fb9f71f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190522044717-8097e1b27ff5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190602015325-4c4f7f33c9ed/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190606203320-7fc4e5ec1444/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190616124812-15dcb6c0061f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190626221950-04f50cda93cb/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190801041406-cbf593c0f2f3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190812073006-9eafafc0a87e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190826190057-c7b8b68b1456/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191008105621-543471e840be/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191022100944-742c48ecaeb7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191115151921-52ab43148777/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191210023423-ac6580df4449/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200106162015-b016eb3dc98e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200120151820-655fe14d7479/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200124204421-9fbb57f87de9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200212091648-12a6c2dcc1e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200217220822-9197077df867/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -477,44 +1246,102 @@ golang.org/x/sys v0.0.0-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20200501052902-10377860bb8e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200519105757-fe76b779f299/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200622214017-ed371f2e16b4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200728102440-3e129f6d46b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200817155316-9781c653f443/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200831180312-196b9ba8737a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200909081042-eff7692f9009/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200916030750-2334cc1a136f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200922070232-aee5d888a860/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200923182605-d9f96fdee20d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201112073958-5cba982894dd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201117170446-d9b008d0a637/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201202213521-69691e467435/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210104204734-6f8348627aad/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210112080510-489259a85091/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210220050731-9a76102bfb43/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210305230114-8fe3ee5dd75b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210315160823-c6e025ad8005/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210324051608-47abb6519492/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210403161142-5e06dd20ab57/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210423185535-09eb48e85fd7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210426230700-d19ff857e887/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210502180810-71e4cd670f79/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210809222454-d867a43fc93e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210831042530-f4d43177bf5e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210903071746-97244b99971b/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210906170528-6f6e22806c34/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211025201205-69cdffdb9359/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211116061358-0a5406a5449c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211124211545-fe61309f8881/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220412211240-33da011f77ad h1:ntjMns5wyP/fN65tdBD4g8J5w8n015+iIIs9rtjXkY0= golang.org/x/sys v0.0.0-20220412211240-33da011f77ad/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= +golang.org/x/term v0.0.0-20210220032956-6a3ed077a48d/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= +golang.org/x/term v0.0.0-20210615171337-6886f2dfbf5b/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= +golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20200416051211-89c76fbcd5d1/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20200630173020-3af7569d3a1e/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20210220033141-f8bda1e9f3ba/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20210723032227-1f47c861a9ac h1:7zkz7BUtwNFFqcowJ+RIgu2MaV/MapERkDIy+mwPyjs= +golang.org/x/time v0.0.0-20210723032227-1f47c861a9ac/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20181011042414-1f849cf54d09/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190614205625-5aca471b1d59/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190624222133-a101b041ded4/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190706070813-72ffa07ba3db/go.mod h1:jcCCGcm9btYwXyDqrUWc6MKQKKGJCWEQ3AfLSRIbEuI= golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191108193012-7d206e10da11/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191112195655-aa38f8e97acc/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= @@ -534,16 +1361,32 @@ golang.org/x/tools v0.0.0-20200304193943-95d2e580d8eb/go.mod h1:o4KQGtdN14AW+yjs golang.org/x/tools v0.0.0-20200312045724-11d5b4c81c7d/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= golang.org/x/tools v0.0.0-20200501065659-ab2804fb9c9d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200505023115-26f46d2f7ef8/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200512131952-2bc93b1c0c88/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200515010526-7d3b6ebf133d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200616133436-c1934b75d054/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200618134242-20370b0cb4b2/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= +golang.org/x/tools v0.0.0-20200904185747-39188db58858/go.mod h1:Cj7w3i3Rnn0Xh82ur9kSqwfTHTeVxaDqrfMjpcNT6bE= +golang.org/x/tools v0.0.0-20200916195026-c9a70fc28ce3/go.mod h1:z6u4i615ZeAfBE4XtMziQW1fSVJXACjjbWkB/mvPzlU= +golang.org/x/tools v0.0.0-20201110124207-079ba7bd75cd/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20201201161351-ac6f37ff4c2a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20201208233053-a543418bbed2/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= +golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +google.golang.org/api v0.0.0-20160322025152-9bf6e6e569ff/go.mod h1:4mhQ8q/RsB7i+udVvVy5NUi08OU8ZlA0gRVgrF7VFY0= google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= @@ -560,6 +1403,11 @@ google.golang.org/api v0.24.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0M google.golang.org/api v0.28.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= google.golang.org/api v0.29.0/go.mod h1:Lcubydp8VUV7KeIHD9z2Bys/sm/vGKnG1UHuDBSrHWM= google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz5138Fc= +google.golang.org/api v0.35.0/go.mod h1:/XrVsuzM0rZmrsbjJutiuftIzeuTQcEeaYcSk/mQ1dg= +google.golang.org/api v0.36.0/go.mod h1:+z5ficQTmoYpPn8LCUNVpK5I7hwkpjbcgqA7I34qYtE= +google.golang.org/api v0.40.0/go.mod h1:fYKFpnQN0DsDSKRVRcQSDQNtqWPfM9i+zNPxepjRCQ8= +google.golang.org/api v0.41.0/go.mod h1:RkxM5lITDfTzmyKFPt+wGrCJbVfniCr2ool8kTBzRTU= +google.golang.org/api v0.43.0/go.mod h1:nQsDGjRXMo4lvh5hP0TKqF244gqhGcr/YSIykhUk/94= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= @@ -568,12 +1416,14 @@ google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCID google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= google.golang.org/appengine v1.6.7 h1:FZR1q0exgwxzPzp/aF+VccGrSfxfPpkBqjIIEq3ru6c= google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= +google.golang.org/cloud v0.0.0-20151119220103-975617b05ea8/go.mod h1:0H1ncTHf11KCFhTc/+EFRbzSCOZx+VUbRMk55Yv5MYk= google.golang.org/genproto v0.0.0-20170818010345-ee236bd376b0/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190522204451-c2c4e71fbf69/go.mod h1:z3L6/3dTEVtUr6QSP8miRzeRqwQOioJ9I66odjN4I7s= google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8= @@ -582,6 +1432,7 @@ google.golang.org/genproto v0.0.0-20191115194625-c23dd37a84c9/go.mod h1:n3cpQtvx google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= google.golang.org/genproto v0.0.0-20200115191322-ca5a22157cba/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20200117163144-32f20d992d24/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= google.golang.org/genproto v0.0.0-20200122232147-0452cf42e150/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= google.golang.org/genproto v0.0.0-20200204135345-fa8e72b47b90/go.mod h1:GmwEX6Z4W5gMy59cAlVYjN9JhxgbQH6Gn+gFDQe2lzA= google.golang.org/genproto v0.0.0-20200212174721-66ed5ce911ce/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= @@ -590,22 +1441,42 @@ google.golang.org/genproto v0.0.0-20200228133532-8c2c7df3a383/go.mod h1:55QSHmfG google.golang.org/genproto v0.0.0-20200305110556-506484158171/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200312145019-da6875a35672/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200423170343-7949de9c1215/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200430143042-b979b6f78d84/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200511104702-f5ebc3bea380/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200515170657-fc4c6c6a6587/go.mod h1:YsZOwe1myG/8QRHRsmBRE1LrgQY60beZKjly0O1fX9U= google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= +google.golang.org/genproto v0.0.0-20200527145253-8367513e4ece/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA= google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA= google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20200904004341-0bd0a958aa1d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201019141844-1ed22bb0c154/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201109203340-2640f1f9cdfb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201110150050-8816d57aaa9a/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201201144952-b05cb90ed32e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201210142538-e3217bee35cc/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201214200347-8c77b98c765d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210222152913-aa3ee6e6a81c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210303154014-9728d6b83eeb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210310155132-4ce2db91004e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210319143718-93e7006c17a6/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210402141018-6c239bbf2bb1/go.mod h1:9lPAdzaEmUacj36I+k7YKbEc5CXzPIeORRgDAUOu28A= +google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= +google.golang.org/genproto v0.0.0-20210831024726-fe130286e0e2/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= google.golang.org/genproto v0.0.0-20211208223120-3a66f561d7aa h1:I0YcKz0I7OAhddo7ya8kMnvprhcWM045PmkBdMO9zN0= google.golang.org/genproto v0.0.0-20211208223120-3a66f561d7aa/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/grpc v0.0.0-20160317175043-d3ddb4469d5a/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= google.golang.org/grpc v1.8.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= +google.golang.org/grpc v1.21.0/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= +google.golang.org/grpc v1.23.1/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= +google.golang.org/grpc v1.24.0/go.mod h1:XDChyiUovWa60DnaeDeZmSW86xtLtjtZbwvSiRnRtcA= google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= @@ -614,9 +1485,18 @@ google.golang.org/grpc v1.28.0/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKa google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk= google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= +google.golang.org/grpc v1.31.1/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0= +google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= +google.golang.org/grpc v1.34.0/go.mod h1:WotjhfgOW/POjDeRt8vscBtXq+2VjORFy659qA51WJ8= +google.golang.org/grpc v1.35.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= +google.golang.org/grpc v1.36.1/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= +google.golang.org/grpc v1.37.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= +google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= +google.golang.org/grpc v1.42.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= +google.golang.org/grpc v1.43.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= google.golang.org/grpc v1.45.0 h1:NEpgUqV3Z+ZjkqMsxMg11IaDrXY4RY6CQukSGK0uI1M= google.golang.org/grpc v1.45.0/go.mod h1:lN7owxKUQEqMfSyQikvvk5tf/6zMPsrK+ONuO11+0rQ= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= @@ -634,21 +1514,48 @@ google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQ google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.28.0 h1:w43yiav+6bVFTBQFZX0r7ipe9JQ1QsbMgHwbBziscLw= google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +gopkg.in/airbrake/gobrake.v2 v2.0.9/go.mod h1:/h5ZAUhDkGaJfjzjKLSjv6zCL6O0LLBxU4K+aSYdM/U= +gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20141024133853-64131543e789/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= +gopkg.in/cheggaaa/pb.v1 v1.0.25/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qStrOgw= gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= +gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= +gopkg.in/gemnasium/logrus-airbrake-hook.v2 v2.1.2/go.mod h1:Xk6kEKp8OKb+X14hQBKWaSkCsqBpgog8nAV2xsGOxlo= +gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= +gopkg.in/ini.v1 v1.51.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= +gopkg.in/natefinch/lumberjack.v2 v2.0.0/go.mod h1:l0ndWWf7gzL7RNwBG7wST/UCcT4T24xpD6X8LsfU/+k= +gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo= +gopkg.in/square/go-jose.v2 v2.2.2/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= +gopkg.in/square/go-jose.v2 v2.3.1/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= +gopkg.in/square/go-jose.v2 v2.5.1/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= +gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= gopkg.in/warnings.v0 v0.1.2 h1:wFXVbFY8DY5/xOe1ECiWdKCzZlxgshcYVNkBHstARME= gopkg.in/warnings.v0 v0.1.2/go.mod h1:jksf8JmL6Qr/oQM2OXTHunEvvTAsrWBLb6OOjuVWRNI= +gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74= +gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.5/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b h1:h8qDotaEPuJATrMmW04NCwg7v22aHH28wwpauUhK9Oo= +gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gotest.tools v2.2.0+incompatible h1:VsBPFP1AI068pPrMxtb/S8Zkgf9xEmTLJjfM+P5UIEo= +gotest.tools v2.2.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw= +gotest.tools/gotestsum v1.7.0/go.mod h1:V1m4Jw3eBerhI/A6qCxUE07RnCg7ACkKj9BYcAm09V8= +gotest.tools/v3 v3.0.2/go.mod h1:3SzNCllyD9/Y+b5r9JIKQ474KzkZyqLqEfYqMsX94Bk= +gotest.tools/v3 v3.0.3 h1:4AuOwCGf4lLR9u3YOe2awrHygurzhO/HeQ6laiA6Sx0= +gotest.tools/v3 v3.0.3/go.mod h1:Z7Lb0S5l+klDB31fvDQX8ss/FlKDxtlFlw3Oa8Ymbl8= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= @@ -656,6 +1563,58 @@ honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWh honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= +k8s.io/api v0.20.1/go.mod h1:KqwcCVogGxQY3nBlRpwt+wpAMF/KjaCc7RpywacvqUo= +k8s.io/api v0.20.4/go.mod h1:++lNL1AJMkDymriNniQsWRkMDzRaX2Y/POTUi8yvqYQ= +k8s.io/api v0.20.6/go.mod h1:X9e8Qag6JV/bL5G6bU8sdVRltWKmdHsFUGS3eVndqE8= +k8s.io/api v0.22.5/go.mod h1:mEhXyLaSD1qTOf40rRiKXkc+2iCem09rWLlFwhCEiAs= +k8s.io/apimachinery v0.20.1/go.mod h1:WlLqWAHZGg07AeltaI0MV5uk1Omp8xaN0JGLY6gkRpU= +k8s.io/apimachinery v0.20.4/go.mod h1:WlLqWAHZGg07AeltaI0MV5uk1Omp8xaN0JGLY6gkRpU= +k8s.io/apimachinery v0.20.6/go.mod h1:ejZXtW1Ra6V1O5H8xPBGz+T3+4gfkTCeExAHKU57MAc= +k8s.io/apimachinery v0.22.1/go.mod h1:O3oNtNadZdeOMxHFVxOreoznohCpy0z6mocxbZr7oJ0= +k8s.io/apimachinery v0.22.5/go.mod h1:xziclGKwuuJ2RM5/rSFQSYAj0zdbci3DH8kj+WvyN0U= +k8s.io/apiserver v0.20.1/go.mod h1:ro5QHeQkgMS7ZGpvf4tSMx6bBOgPfE+f52KwvXfScaU= +k8s.io/apiserver v0.20.4/go.mod h1:Mc80thBKOyy7tbvFtB4kJv1kbdD0eIH8k8vianJcbFM= +k8s.io/apiserver v0.20.6/go.mod h1:QIJXNt6i6JB+0YQRNcS0hdRHJlMhflFmsBDeSgT1r8Q= +k8s.io/apiserver v0.22.5/go.mod h1:s2WbtgZAkTKt679sYtSudEQrTGWUSQAPe6MupLnlmaQ= +k8s.io/client-go v0.20.1/go.mod h1:/zcHdt1TeWSd5HoUe6elJmHSQ6uLLgp4bIJHVEuy+/Y= +k8s.io/client-go v0.20.4/go.mod h1:LiMv25ND1gLUdBeYxBIwKpkSC5IsozMMmOOeSJboP+k= +k8s.io/client-go v0.20.6/go.mod h1:nNQMnOvEUEsOzRRFIIkdmYOjAZrC8bgq0ExboWSU1I0= +k8s.io/client-go v0.22.5/go.mod h1:cs6yf/61q2T1SdQL5Rdcjg9J1ElXSwbjSrW2vFImM4Y= +k8s.io/code-generator v0.19.7/go.mod h1:lwEq3YnLYb/7uVXLorOJfxg+cUu2oihFhHZ0n9NIla0= +k8s.io/component-base v0.20.1/go.mod h1:guxkoJnNoh8LNrbtiQOlyp2Y2XFCZQmrcg2n/DeYNLk= +k8s.io/component-base v0.20.4/go.mod h1:t4p9EdiagbVCJKrQ1RsA5/V4rFQNDfRlevJajlGwgjI= +k8s.io/component-base v0.20.6/go.mod h1:6f1MPBAeI+mvuts3sIdtpjljHWBQ2cIy38oBIWMYnrM= +k8s.io/component-base v0.22.5/go.mod h1:VK3I+TjuF9eaa+Ln67dKxhGar5ynVbwnGrUiNF4MqCI= +k8s.io/cri-api v0.17.3/go.mod h1:X1sbHmuXhwaHs9xxYffLqJogVsnI+f6cPRcgPel7ywM= +k8s.io/cri-api v0.20.1/go.mod h1:2JRbKt+BFLTjtrILYVqQK5jqhI+XNdF6UiGMgczeBCI= +k8s.io/cri-api v0.20.4/go.mod h1:2JRbKt+BFLTjtrILYVqQK5jqhI+XNdF6UiGMgczeBCI= +k8s.io/cri-api v0.20.6/go.mod h1:ew44AjNXwyn1s0U4xCKGodU7J1HzBeZ1MpGrpa5r8Yc= +k8s.io/cri-api v0.23.1/go.mod h1:REJE3PSU0h/LOV1APBrupxrEJqnoxZC8KWzkBUHwrK4= +k8s.io/gengo v0.0.0-20200413195148-3a45101e95ac/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0= +k8s.io/gengo v0.0.0-20200428234225-8167cfdcfc14/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0= +k8s.io/gengo v0.0.0-20201113003025-83324d819ded/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E= +k8s.io/klog/v2 v2.0.0/go.mod h1:PBfzABfn139FHAV07az/IF9Wp1bkk3vpT2XSJ76fSDE= +k8s.io/klog/v2 v2.2.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y= +k8s.io/klog/v2 v2.4.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y= +k8s.io/klog/v2 v2.9.0/go.mod h1:hy9LJ/NvuK+iVyP4Ehqva4HxZG/oXyIS3n3Jmire4Ec= +k8s.io/klog/v2 v2.30.0/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= +k8s.io/kube-openapi v0.0.0-20200805222855-6aeccd4b50c6/go.mod h1:UuqjUnNftUyPE5H64/qeyjQoUZhGpeFDVdxjTeEVN2o= +k8s.io/kube-openapi v0.0.0-20201113171705-d219536bb9fd/go.mod h1:WOJ3KddDSol4tAGcJo0Tvi+dK12EcqSLqcWsryKMpfM= +k8s.io/kube-openapi v0.0.0-20210421082810-95288971da7e/go.mod h1:vHXdDvt9+2spS2Rx9ql3I8tycm3H9FDfdUoIuKCefvw= +k8s.io/kube-openapi v0.0.0-20211109043538-20434351676c/go.mod h1:vHXdDvt9+2spS2Rx9ql3I8tycm3H9FDfdUoIuKCefvw= +k8s.io/kubernetes v1.13.0/go.mod h1:ocZa8+6APFNC2tX1DZASIbocyYT5jHzqFVsY5aoB7Jk= +k8s.io/utils v0.0.0-20201110183641-67b214c5f920/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= +k8s.io/utils v0.0.0-20210819203725-bdf08cb9a70a/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= +k8s.io/utils v0.0.0-20210930125809-cb0fa318a74b/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= +sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.14/go.mod h1:LEScyzhFmoF5pso/YSeBstl57mOzx9xlU9n85RGrDQg= +sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.15/go.mod h1:LEScyzhFmoF5pso/YSeBstl57mOzx9xlU9n85RGrDQg= +sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.22/go.mod h1:LEScyzhFmoF5pso/YSeBstl57mOzx9xlU9n85RGrDQg= +sigs.k8s.io/structured-merge-diff/v4 v4.0.1/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK1F7G282QMXDPYydCw= +sigs.k8s.io/structured-merge-diff/v4 v4.0.2/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK1F7G282QMXDPYydCw= +sigs.k8s.io/structured-merge-diff/v4 v4.0.3/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK1F7G282QMXDPYydCw= +sigs.k8s.io/structured-merge-diff/v4 v4.1.2/go.mod h1:j/nl6xW8vLS49O8YvXW1ocPhZawJtm+Yrr7PPRQ0Vg4= +sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o= +sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc= diff --git a/sdk/dotnet/GetIdentityPool.cs b/sdk/dotnet/GetIdentityPool.cs new file mode 100644 index 00000000..48d4f860 --- /dev/null +++ b/sdk/dotnet/GetIdentityPool.cs @@ -0,0 +1,204 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.ConfluentCloud +{ + public static class GetIdentityPool + { + /// + /// [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy) [![Request Access To OAuth API](https://img.shields.io/badge/-Request%20Access%20To%20OAuth%20API-%23bc8540)](mailto:ccloud-api-access+iam-v2-closed-preview@confluent.io?subject=Request%20to%20join%20OAuth%20API%20Closed%20Preview&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Closed%20Preview%20for%20iam/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + /// + /// `confluentcloud.IdentityPool` describes an Identity Pool data source. + /// + /// {{% examples %}} + /// ## Example Usage + /// {{% example %}} + /// + /// ```csharp + /// using System.Collections.Generic; + /// using Pulumi; + /// using ConfluentCloud = Pulumi.ConfluentCloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var exampleUsingIdIdentityPool = ConfluentCloud.GetIdentityPool.Invoke(new() + /// { + /// Id = "pool-xyz456", + /// IdentityProvider = new ConfluentCloud.Inputs.GetIdentityPoolIdentityProviderInputArgs + /// { + /// Id = "op-abc123", + /// }, + /// }); + /// + /// var exampleUsingNameIdentityPool = ConfluentCloud.GetIdentityPool.Invoke(new() + /// { + /// DisplayName = "My Identity Pool", + /// IdentityProvider = new ConfluentCloud.Inputs.GetIdentityPoolIdentityProviderInputArgs + /// { + /// Id = "op-abc123", + /// }, + /// }); + /// + /// return new Dictionary<string, object?> + /// { + /// ["exampleUsingId"] = exampleUsingIdIdentityPool.Apply(getIdentityPoolResult => getIdentityPoolResult), + /// ["exampleUsingName"] = exampleUsingNameIdentityPool.Apply(getIdentityPoolResult => getIdentityPoolResult), + /// }; + /// }); + /// ``` + /// {{% /example %}} + /// {{% /examples %}} + /// + public static Task InvokeAsync(GetIdentityPoolArgs args, InvokeOptions? options = null) + => Pulumi.Deployment.Instance.InvokeAsync("confluentcloud:index/getIdentityPool:getIdentityPool", args ?? new GetIdentityPoolArgs(), options.WithDefaults()); + + /// + /// [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy) [![Request Access To OAuth API](https://img.shields.io/badge/-Request%20Access%20To%20OAuth%20API-%23bc8540)](mailto:ccloud-api-access+iam-v2-closed-preview@confluent.io?subject=Request%20to%20join%20OAuth%20API%20Closed%20Preview&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Closed%20Preview%20for%20iam/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + /// + /// `confluentcloud.IdentityPool` describes an Identity Pool data source. + /// + /// {{% examples %}} + /// ## Example Usage + /// {{% example %}} + /// + /// ```csharp + /// using System.Collections.Generic; + /// using Pulumi; + /// using ConfluentCloud = Pulumi.ConfluentCloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var exampleUsingIdIdentityPool = ConfluentCloud.GetIdentityPool.Invoke(new() + /// { + /// Id = "pool-xyz456", + /// IdentityProvider = new ConfluentCloud.Inputs.GetIdentityPoolIdentityProviderInputArgs + /// { + /// Id = "op-abc123", + /// }, + /// }); + /// + /// var exampleUsingNameIdentityPool = ConfluentCloud.GetIdentityPool.Invoke(new() + /// { + /// DisplayName = "My Identity Pool", + /// IdentityProvider = new ConfluentCloud.Inputs.GetIdentityPoolIdentityProviderInputArgs + /// { + /// Id = "op-abc123", + /// }, + /// }); + /// + /// return new Dictionary<string, object?> + /// { + /// ["exampleUsingId"] = exampleUsingIdIdentityPool.Apply(getIdentityPoolResult => getIdentityPoolResult), + /// ["exampleUsingName"] = exampleUsingNameIdentityPool.Apply(getIdentityPoolResult => getIdentityPoolResult), + /// }; + /// }); + /// ``` + /// {{% /example %}} + /// {{% /examples %}} + /// + public static Output Invoke(GetIdentityPoolInvokeArgs args, InvokeOptions? options = null) + => Pulumi.Deployment.Instance.Invoke("confluentcloud:index/getIdentityPool:getIdentityPool", args ?? new GetIdentityPoolInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetIdentityPoolArgs : global::Pulumi.InvokeArgs + { + /// + /// A human-readable name for the Identity Pool. + /// + [Input("displayName")] + public string? DisplayName { get; set; } + + /// + /// The ID of the Identity Provider associated with the Identity Pool, for example, `op-abc123`. + /// + [Input("id")] + public string? Id { get; set; } + + [Input("identityProvider", required: true)] + public Inputs.GetIdentityPoolIdentityProviderArgs IdentityProvider { get; set; } = null!; + + public GetIdentityPoolArgs() + { + } + public static new GetIdentityPoolArgs Empty => new GetIdentityPoolArgs(); + } + + public sealed class GetIdentityPoolInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// A human-readable name for the Identity Pool. + /// + [Input("displayName")] + public Input? DisplayName { get; set; } + + /// + /// The ID of the Identity Provider associated with the Identity Pool, for example, `op-abc123`. + /// + [Input("id")] + public Input? Id { get; set; } + + [Input("identityProvider", required: true)] + public Input IdentityProvider { get; set; } = null!; + + public GetIdentityPoolInvokeArgs() + { + } + public static new GetIdentityPoolInvokeArgs Empty => new GetIdentityPoolInvokeArgs(); + } + + + [OutputType] + public sealed class GetIdentityPoolResult + { + /// + /// (Required String) A description for the Identity Pool. + /// + public readonly string Description; + /// + /// (Required String) A human-readable name for the Identity Pool. + /// + public readonly string DisplayName; + /// + /// (Required String) A filter expression in [Supported Common Expression Language (CEL)](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html#supported-common-expression-language-cel-filters) that specifies which identities can authenticate using your identity pool (see [Set identity pool filters](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html#set-identity-pool-filters) for more details). + /// + public readonly string Filter; + /// + /// (Required String) The ID of the Identity Provider associated with the Identity Pool, for example, `op-abc123`. + /// + public readonly string Id; + /// + /// (Required String) The JSON Web Token (JWT) claim to extract the authenticating identity to Confluent resources from (see [Registered Claim Names](https://datatracker.ietf.org/doc/html/rfc7519#section-4.1) for more details). This appears in the audit log records, showing, for example, that "identity Z used identity pool X to access topic A". + /// + public readonly string IdentityClaim; + public readonly Outputs.GetIdentityPoolIdentityProviderResult IdentityProvider; + + [OutputConstructor] + private GetIdentityPoolResult( + string description, + + string displayName, + + string filter, + + string id, + + string identityClaim, + + Outputs.GetIdentityPoolIdentityProviderResult identityProvider) + { + Description = description; + DisplayName = displayName; + Filter = filter; + Id = id; + IdentityClaim = identityClaim; + IdentityProvider = identityProvider; + } + } +} diff --git a/sdk/dotnet/GetIdentityProvider.cs b/sdk/dotnet/GetIdentityProvider.cs new file mode 100644 index 00000000..f57f79e4 --- /dev/null +++ b/sdk/dotnet/GetIdentityProvider.cs @@ -0,0 +1,178 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.ConfluentCloud +{ + public static class GetIdentityProvider + { + /// + /// [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy) [![Request Access To OAuth API](https://img.shields.io/badge/-Request%20Access%20To%20OAuth%20API-%23bc8540)](mailto:ccloud-api-access+iam-v2-closed-preview@confluent.io?subject=Request%20to%20join%20OAuth%20API%20Closed%20Preview&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Closed%20Preview%20for%20iam/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + /// + /// `confluentcloud.IdentityProvider` describes an Identity Provider data source. + /// + /// {{% examples %}} + /// ## Example Usage + /// {{% example %}} + /// + /// ```csharp + /// using System.Collections.Generic; + /// using Pulumi; + /// using ConfluentCloud = Pulumi.ConfluentCloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var exampleUsingIdIdentityProvider = ConfluentCloud.GetIdentityProvider.Invoke(new() + /// { + /// Id = "op-abc123", + /// }); + /// + /// var exampleUsingNameIdentityProvider = ConfluentCloud.GetIdentityProvider.Invoke(new() + /// { + /// DisplayName = "My OIDC Provider: Azure AD", + /// }); + /// + /// return new Dictionary<string, object?> + /// { + /// ["exampleUsingId"] = exampleUsingIdIdentityProvider.Apply(getIdentityProviderResult => getIdentityProviderResult), + /// ["exampleUsingName"] = exampleUsingNameIdentityProvider.Apply(getIdentityProviderResult => getIdentityProviderResult), + /// }; + /// }); + /// ``` + /// {{% /example %}} + /// {{% /examples %}} + /// + public static Task InvokeAsync(GetIdentityProviderArgs? args = null, InvokeOptions? options = null) + => Pulumi.Deployment.Instance.InvokeAsync("confluentcloud:index/getIdentityProvider:getIdentityProvider", args ?? new GetIdentityProviderArgs(), options.WithDefaults()); + + /// + /// [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy) [![Request Access To OAuth API](https://img.shields.io/badge/-Request%20Access%20To%20OAuth%20API-%23bc8540)](mailto:ccloud-api-access+iam-v2-closed-preview@confluent.io?subject=Request%20to%20join%20OAuth%20API%20Closed%20Preview&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Closed%20Preview%20for%20iam/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + /// + /// `confluentcloud.IdentityProvider` describes an Identity Provider data source. + /// + /// {{% examples %}} + /// ## Example Usage + /// {{% example %}} + /// + /// ```csharp + /// using System.Collections.Generic; + /// using Pulumi; + /// using ConfluentCloud = Pulumi.ConfluentCloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var exampleUsingIdIdentityProvider = ConfluentCloud.GetIdentityProvider.Invoke(new() + /// { + /// Id = "op-abc123", + /// }); + /// + /// var exampleUsingNameIdentityProvider = ConfluentCloud.GetIdentityProvider.Invoke(new() + /// { + /// DisplayName = "My OIDC Provider: Azure AD", + /// }); + /// + /// return new Dictionary<string, object?> + /// { + /// ["exampleUsingId"] = exampleUsingIdIdentityProvider.Apply(getIdentityProviderResult => getIdentityProviderResult), + /// ["exampleUsingName"] = exampleUsingNameIdentityProvider.Apply(getIdentityProviderResult => getIdentityProviderResult), + /// }; + /// }); + /// ``` + /// {{% /example %}} + /// {{% /examples %}} + /// + public static Output Invoke(GetIdentityProviderInvokeArgs? args = null, InvokeOptions? options = null) + => Pulumi.Deployment.Instance.Invoke("confluentcloud:index/getIdentityProvider:getIdentityProvider", args ?? new GetIdentityProviderInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetIdentityProviderArgs : global::Pulumi.InvokeArgs + { + /// + /// A human-readable name for the Identity Provider. + /// + [Input("displayName")] + public string? DisplayName { get; set; } + + /// + /// The ID of the Identity Provider, for example, `op-abc123`. + /// + [Input("id")] + public string? Id { get; set; } + + public GetIdentityProviderArgs() + { + } + public static new GetIdentityProviderArgs Empty => new GetIdentityProviderArgs(); + } + + public sealed class GetIdentityProviderInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// A human-readable name for the Identity Provider. + /// + [Input("displayName")] + public Input? DisplayName { get; set; } + + /// + /// The ID of the Identity Provider, for example, `op-abc123`. + /// + [Input("id")] + public Input? Id { get; set; } + + public GetIdentityProviderInvokeArgs() + { + } + public static new GetIdentityProviderInvokeArgs Empty => new GetIdentityProviderInvokeArgs(); + } + + + [OutputType] + public sealed class GetIdentityProviderResult + { + /// + /// (Required String) A description for the Identity Provider. + /// + public readonly string Description; + /// + /// (Required String) A human-readable name for the Identity Provider. + /// + public readonly string DisplayName; + /// + /// (Required String) The ID of the Identity Provider, for example, `op-abc123`. + /// + public readonly string Id; + /// + /// (Required String) A publicly reachable issuer URI for the Identity Provider. The unique issuer URI string represents the entity for issuing tokens. + /// + public readonly string Issuer; + /// + /// (Required String) A publicly reachable JSON Web Key Set (JWKS) URI for the Identity Provider. A JSON Web Key Set (JWKS) provides a set of keys containing the public keys used to verify any JSON Web Token (JWT) issued by your OAuth 2.0 identity provider. + /// + public readonly string JwksUri; + + [OutputConstructor] + private GetIdentityProviderResult( + string description, + + string displayName, + + string id, + + string issuer, + + string jwksUri) + { + Description = description; + DisplayName = displayName; + Id = id; + Issuer = issuer; + JwksUri = jwksUri; + } + } +} diff --git a/sdk/dotnet/GetKsqlCluster.cs b/sdk/dotnet/GetKsqlCluster.cs new file mode 100644 index 00000000..d616b71d --- /dev/null +++ b/sdk/dotnet/GetKsqlCluster.cs @@ -0,0 +1,240 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.ConfluentCloud +{ + public static class GetKsqlCluster + { + /// + /// ## # confluentcloud.KsqlCluster Data Source + /// + /// [![Open Preview](https://img.shields.io/badge/Lifecycle%20Stage-Open%20Preview-%2300afba)](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy) + /// + /// `confluentcloud.KsqlCluster` describes a ksqlDB cluster data source. + /// + /// {{% examples %}} + /// ## Example Usage + /// {{% example %}} + /// + /// ```csharp + /// using System.Collections.Generic; + /// using Pulumi; + /// using ConfluentCloud = Pulumi.ConfluentCloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var exampleUsingIdKsqlCluster = ConfluentCloud.GetKsqlCluster.Invoke(new() + /// { + /// Id = "lksqlc-abc123", + /// Environment = new ConfluentCloud.Inputs.GetKsqlClusterEnvironmentInputArgs + /// { + /// Id = "env-xyz456", + /// }, + /// }); + /// + /// var exampleUsingNameKsqlCluster = ConfluentCloud.GetKsqlCluster.Invoke(new() + /// { + /// DisplayName = "ksqldb_cluster", + /// Environment = new ConfluentCloud.Inputs.GetKsqlClusterEnvironmentInputArgs + /// { + /// Id = "env-xyz456", + /// }, + /// }); + /// + /// return new Dictionary<string, object?> + /// { + /// ["exampleUsingId"] = exampleUsingIdKsqlCluster.Apply(getKsqlClusterResult => getKsqlClusterResult), + /// ["exampleUsingName"] = exampleUsingNameKsqlCluster.Apply(getKsqlClusterResult => getKsqlClusterResult), + /// }; + /// }); + /// ``` + /// {{% /example %}} + /// {{% /examples %}} + /// + public static Task InvokeAsync(GetKsqlClusterArgs args, InvokeOptions? options = null) + => Pulumi.Deployment.Instance.InvokeAsync("confluentcloud:index/getKsqlCluster:getKsqlCluster", args ?? new GetKsqlClusterArgs(), options.WithDefaults()); + + /// + /// ## # confluentcloud.KsqlCluster Data Source + /// + /// [![Open Preview](https://img.shields.io/badge/Lifecycle%20Stage-Open%20Preview-%2300afba)](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy) + /// + /// `confluentcloud.KsqlCluster` describes a ksqlDB cluster data source. + /// + /// {{% examples %}} + /// ## Example Usage + /// {{% example %}} + /// + /// ```csharp + /// using System.Collections.Generic; + /// using Pulumi; + /// using ConfluentCloud = Pulumi.ConfluentCloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var exampleUsingIdKsqlCluster = ConfluentCloud.GetKsqlCluster.Invoke(new() + /// { + /// Id = "lksqlc-abc123", + /// Environment = new ConfluentCloud.Inputs.GetKsqlClusterEnvironmentInputArgs + /// { + /// Id = "env-xyz456", + /// }, + /// }); + /// + /// var exampleUsingNameKsqlCluster = ConfluentCloud.GetKsqlCluster.Invoke(new() + /// { + /// DisplayName = "ksqldb_cluster", + /// Environment = new ConfluentCloud.Inputs.GetKsqlClusterEnvironmentInputArgs + /// { + /// Id = "env-xyz456", + /// }, + /// }); + /// + /// return new Dictionary<string, object?> + /// { + /// ["exampleUsingId"] = exampleUsingIdKsqlCluster.Apply(getKsqlClusterResult => getKsqlClusterResult), + /// ["exampleUsingName"] = exampleUsingNameKsqlCluster.Apply(getKsqlClusterResult => getKsqlClusterResult), + /// }; + /// }); + /// ``` + /// {{% /example %}} + /// {{% /examples %}} + /// + public static Output Invoke(GetKsqlClusterInvokeArgs args, InvokeOptions? options = null) + => Pulumi.Deployment.Instance.Invoke("confluentcloud:index/getKsqlCluster:getKsqlCluster", args ?? new GetKsqlClusterInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetKsqlClusterArgs : global::Pulumi.InvokeArgs + { + /// + /// The name of the ksqlDB cluster. + /// + [Input("displayName")] + public string? DisplayName { get; set; } + + [Input("environment", required: true)] + public Inputs.GetKsqlClusterEnvironmentArgs Environment { get; set; } = null!; + + /// + /// The ID of the Environment that the ksqlDB cluster belongs to, for example, `env-xyz456`. + /// + [Input("id")] + public string? Id { get; set; } + + public GetKsqlClusterArgs() + { + } + public static new GetKsqlClusterArgs Empty => new GetKsqlClusterArgs(); + } + + public sealed class GetKsqlClusterInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// The name of the ksqlDB cluster. + /// + [Input("displayName")] + public Input? DisplayName { get; set; } + + [Input("environment", required: true)] + public Input Environment { get; set; } = null!; + + /// + /// The ID of the Environment that the ksqlDB cluster belongs to, for example, `env-xyz456`. + /// + [Input("id")] + public Input? Id { get; set; } + + public GetKsqlClusterInvokeArgs() + { + } + public static new GetKsqlClusterInvokeArgs Empty => new GetKsqlClusterInvokeArgs(); + } + + + [OutputType] + public sealed class GetKsqlClusterResult + { + /// + /// (Required String) An API Version of the schema version of the ksqlDB cluster, for example, `ksqldbcm/v2`. + /// + public readonly string ApiVersion; + public readonly ImmutableArray CredentialIdentities; + /// + /// (Required Number) The number of CSUs (Confluent Streaming Units) in the ksqlDB cluster. + /// - `use_detailed_processing_log` (Optional Boolean) Controls whether the row data should be included in the processing log topic. + /// + public readonly int Csu; + public readonly string DisplayName; + public readonly Outputs.GetKsqlClusterEnvironmentResult Environment; + /// + /// (Required String) The API endpoint of the ksqlDB cluster, for example, `https://pksqlc-00000.us-central1.gcp.glb.confluent.cloud`. + /// - `kafka_cluster` (Optional Configuration Block) supports the following: + /// + public readonly string HttpEndpoint; + /// + /// (Required String) The ID of the service or user account that the ksqlDB cluster belongs to, for example, `sa-abc123`. + /// + public readonly string Id; + public readonly ImmutableArray KafkaClusters; + /// + /// (Required String) A kind of the ksqlDB cluster, for example, `Cluster`. + /// + public readonly string Kind; + /// + /// (Required Integer) The amount of storage (in GB) provisioned to this cluster. + /// + public readonly int Storage; + /// + /// (Required String) Topic name prefix used by this ksqlDB cluster. Used to assign ACLs for this ksqlDB cluster to use, for example, `pksqlc-00000`. + /// + public readonly string TopicPrefix; + public readonly bool UseDetailedProcessingLog; + + [OutputConstructor] + private GetKsqlClusterResult( + string apiVersion, + + ImmutableArray credentialIdentities, + + int csu, + + string displayName, + + Outputs.GetKsqlClusterEnvironmentResult environment, + + string httpEndpoint, + + string id, + + ImmutableArray kafkaClusters, + + string kind, + + int storage, + + string topicPrefix, + + bool useDetailedProcessingLog) + { + ApiVersion = apiVersion; + CredentialIdentities = credentialIdentities; + Csu = csu; + DisplayName = displayName; + Environment = environment; + HttpEndpoint = httpEndpoint; + Id = id; + KafkaClusters = kafkaClusters; + Kind = kind; + Storage = storage; + TopicPrefix = topicPrefix; + UseDetailedProcessingLog = useDetailedProcessingLog; + } + } +} diff --git a/sdk/dotnet/GetPrivateLinkAccess.cs b/sdk/dotnet/GetPrivateLinkAccess.cs index 89a02651..22f11bd3 100644 --- a/sdk/dotnet/GetPrivateLinkAccess.cs +++ b/sdk/dotnet/GetPrivateLinkAccess.cs @@ -172,6 +172,10 @@ public sealed class GetPrivateLinkAccessResult public readonly string DisplayName; public readonly Outputs.GetPrivateLinkAccessEnvironmentResult Environment; /// + /// (Optional Configuration Block) The GCP-specific Private Service Connect details if available. It supports the following: + /// + public readonly ImmutableArray Gcps; + /// /// (Required String) The ID of the Network that the Private Link Access belongs to, for example, `n-abc123`. /// public readonly string Id; @@ -187,6 +191,8 @@ private GetPrivateLinkAccessResult( Outputs.GetPrivateLinkAccessEnvironmentResult environment, + ImmutableArray gcps, + string id, ImmutableArray networks) @@ -195,6 +201,7 @@ private GetPrivateLinkAccessResult( Azures = azures; DisplayName = displayName; Environment = environment; + Gcps = gcps; Id = id; Networks = networks; } diff --git a/sdk/dotnet/IdentityPool.cs b/sdk/dotnet/IdentityPool.cs new file mode 100644 index 00000000..754b662f --- /dev/null +++ b/sdk/dotnet/IdentityPool.cs @@ -0,0 +1,249 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.ConfluentCloud +{ + /// + /// [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy) [![Request Access To OAuth API](https://img.shields.io/badge/-Request%20Access%20To%20OAuth%20API-%23bc8540)](mailto:ccloud-api-access+iam-v2-closed-preview@confluent.io?subject=Request%20to%20join%20OAuth%20API%20Closed%20Preview&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Closed%20Preview%20for%20iam/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + /// + /// > **Note:** `confluentcloud.IdentityPool` resource is available in a **Limited Availability** for early adopters. Limited Availability features are introduced to gather customer feedback. This feature should be used only for evaluation and non-production testing purposes or to provide feedback to Confluent, particularly as it becomes more widely available in follow-on editions.\ + /// **Limited Availability** features are intended for evaluation use in development and testing environments only, and not for production use. The warranty, SLA, and Support Services provisions of your agreement with Confluent do not apply to Limited Availability features. Limited Availability features are considered to be a Proof of Concept as defined in the Confluent Cloud Terms of Service. Confluent may discontinue providing preview releases of the Limited Availability features at any time in Confluent’s sole discretion. + /// + /// `confluentcloud.IdentityPool` provides an Identity Pool resource that enables creating, editing, and deleting identity pools on Confluent Cloud. + /// + /// ## Example Usage + /// ### Example Identity Pool to be used with Azure AD + /// + /// ```csharp + /// using System.Collections.Generic; + /// using Pulumi; + /// using ConfluentCloud = Pulumi.ConfluentCloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var azure = new ConfluentCloud.IdentityProvider("azure", new() + /// { + /// DisplayName = "My OIDC Provider: Azure AD", + /// Description = "My description", + /// Issuer = "https://login.microsoftonline.com/{tenant_id}/v2.0", + /// JwksUri = "https://login.microsoftonline.com/common/discovery/v2.0/keys", + /// }); + /// + /// var example = new ConfluentCloud.IdentityPool("example", new() + /// { + /// IdentityProvider = new ConfluentCloud.Inputs.IdentityPoolIdentityProviderArgs + /// { + /// Id = azure.Id, + /// }, + /// DisplayName = "My Identity Pool", + /// Description = "Prod Access to Kafka clusters to Release Engineering", + /// IdentityClaim = "claims.sub", + /// Filter = "claims.aud==\"confluent\" && claims.group!=\"invalid_group\"", + /// }); + /// + /// }); + /// ``` + /// ### Example Identity Pool to be used with Okta + /// + /// ```csharp + /// using System.Collections.Generic; + /// using Pulumi; + /// using ConfluentCloud = Pulumi.ConfluentCloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var okta = new ConfluentCloud.IdentityProvider("okta", new() + /// { + /// DisplayName = "My OIDC Provider: Okta", + /// Description = "My description", + /// Issuer = "https://mycompany.okta.com/oauth2/default", + /// JwksUri = "https://mycompany.okta.com/oauth2/default/v1/keys", + /// }); + /// + /// var example = new ConfluentCloud.IdentityPool("example", new() + /// { + /// IdentityProvider = new ConfluentCloud.Inputs.IdentityPoolIdentityProviderArgs + /// { + /// Id = okta.Id, + /// }, + /// DisplayName = "My Identity Pool", + /// Description = "Prod Access to Kafka clusters to Release Engineering", + /// IdentityClaim = "claims.sub", + /// Filter = "claims.aud==\"confluent\" && claims.group!=\"invalid_group\"", + /// }); + /// + /// }); + /// ``` + /// ## External Documentation + /// + /// * [Use identity pools with your OAuth provider](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html). + /// + /// ## Import + /// + /// You can import an Identity Pool by using Identity Provider ID and Identity Pool ID, in the format `<Identity Provider ID>/<Identity Pool ID>`. The following example shows how to import an Identity Pool$ export CONFLUENT_CLOUD_API_KEY="<cloud_api_key>" $ export CONFLUENT_CLOUD_API_SECRET="<cloud_api_secret>" + /// + /// ```sh + /// $ pulumi import confluentcloud:index/identityPool:IdentityPool example op-abc123/pool-xyz456 + /// ``` + /// + /// !> **Warning:** Do not forget to delete terminal command history afterwards for security purposes. + /// + [ConfluentCloudResourceType("confluentcloud:index/identityPool:IdentityPool")] + public partial class IdentityPool : global::Pulumi.CustomResource + { + /// + /// A description for the Identity Pool. + /// + [Output("description")] + public Output Description { get; private set; } = null!; + + /// + /// A human-readable name for the Identity Pool. + /// + [Output("displayName")] + public Output DisplayName { get; private set; } = null!; + + /// + /// A filter expression in [Supported Common Expression Language (CEL)](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html#supported-common-expression-language-cel-filters) that specifies which identities can authenticate using your identity pool (see [Set identity pool filters](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html#set-identity-pool-filters) for more details). + /// + [Output("filter")] + public Output Filter { get; private set; } = null!; + + /// + /// The JSON Web Token (JWT) claim to extract the authenticating identity to Confluent resources from (see [Registered Claim Names](https://datatracker.ietf.org/doc/html/rfc7519#section-4.1) for more details). This appears in the audit log records, showing, for example, that "identity Z used identity pool X to access topic A". + /// + [Output("identityClaim")] + public Output IdentityClaim { get; private set; } = null!; + + /// + /// Identity Provider objects represent external OAuth/OpenID Connect providers within Confluent Cloud. + /// + [Output("identityProvider")] + public Output IdentityProvider { get; private set; } = null!; + + + /// + /// Create a IdentityPool resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public IdentityPool(string name, IdentityPoolArgs args, CustomResourceOptions? options = null) + : base("confluentcloud:index/identityPool:IdentityPool", name, args ?? new IdentityPoolArgs(), MakeResourceOptions(options, "")) + { + } + + private IdentityPool(string name, Input id, IdentityPoolState? state = null, CustomResourceOptions? options = null) + : base("confluentcloud:index/identityPool:IdentityPool", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing IdentityPool resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// Any extra arguments used during the lookup. + /// A bag of options that control this resource's behavior + public static IdentityPool Get(string name, Input id, IdentityPoolState? state = null, CustomResourceOptions? options = null) + { + return new IdentityPool(name, id, state, options); + } + } + + public sealed class IdentityPoolArgs : global::Pulumi.ResourceArgs + { + /// + /// A description for the Identity Pool. + /// + [Input("description", required: true)] + public Input Description { get; set; } = null!; + + /// + /// A human-readable name for the Identity Pool. + /// + [Input("displayName", required: true)] + public Input DisplayName { get; set; } = null!; + + /// + /// A filter expression in [Supported Common Expression Language (CEL)](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html#supported-common-expression-language-cel-filters) that specifies which identities can authenticate using your identity pool (see [Set identity pool filters](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html#set-identity-pool-filters) for more details). + /// + [Input("filter", required: true)] + public Input Filter { get; set; } = null!; + + /// + /// The JSON Web Token (JWT) claim to extract the authenticating identity to Confluent resources from (see [Registered Claim Names](https://datatracker.ietf.org/doc/html/rfc7519#section-4.1) for more details). This appears in the audit log records, showing, for example, that "identity Z used identity pool X to access topic A". + /// + [Input("identityClaim", required: true)] + public Input IdentityClaim { get; set; } = null!; + + /// + /// Identity Provider objects represent external OAuth/OpenID Connect providers within Confluent Cloud. + /// + [Input("identityProvider", required: true)] + public Input IdentityProvider { get; set; } = null!; + + public IdentityPoolArgs() + { + } + public static new IdentityPoolArgs Empty => new IdentityPoolArgs(); + } + + public sealed class IdentityPoolState : global::Pulumi.ResourceArgs + { + /// + /// A description for the Identity Pool. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// A human-readable name for the Identity Pool. + /// + [Input("displayName")] + public Input? DisplayName { get; set; } + + /// + /// A filter expression in [Supported Common Expression Language (CEL)](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html#supported-common-expression-language-cel-filters) that specifies which identities can authenticate using your identity pool (see [Set identity pool filters](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html#set-identity-pool-filters) for more details). + /// + [Input("filter")] + public Input? Filter { get; set; } + + /// + /// The JSON Web Token (JWT) claim to extract the authenticating identity to Confluent resources from (see [Registered Claim Names](https://datatracker.ietf.org/doc/html/rfc7519#section-4.1) for more details). This appears in the audit log records, showing, for example, that "identity Z used identity pool X to access topic A". + /// + [Input("identityClaim")] + public Input? IdentityClaim { get; set; } + + /// + /// Identity Provider objects represent external OAuth/OpenID Connect providers within Confluent Cloud. + /// + [Input("identityProvider")] + public Input? IdentityProvider { get; set; } + + public IdentityPoolState() + { + } + public static new IdentityPoolState Empty => new IdentityPoolState(); + } +} diff --git a/sdk/dotnet/IdentityProvider.cs b/sdk/dotnet/IdentityProvider.cs new file mode 100644 index 00000000..dd0be986 --- /dev/null +++ b/sdk/dotnet/IdentityProvider.cs @@ -0,0 +1,207 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.ConfluentCloud +{ + /// + /// [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy) [![Request Access To OAuth API](https://img.shields.io/badge/-Request%20Access%20To%20OAuth%20API-%23bc8540)](mailto:ccloud-api-access+iam-v2-closed-preview@confluent.io?subject=Request%20to%20join%20OAuth%20API%20Closed%20Preview&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Closed%20Preview%20for%20iam/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + /// + /// > **Note:** `confluentcloud.IdentityProvider` resource is available in a **Limited Availability** for early adopters. Limited Availability features are introduced to gather customer feedback. This feature should be used only for evaluation and non-production testing purposes or to provide feedback to Confluent, particularly as it becomes more widely available in follow-on editions.\ + /// **Limited Availability** features are intended for evaluation use in development and testing environments only, and not for production use. The warranty, SLA, and Support Services provisions of your agreement with Confluent do not apply to Limited Availability features. Limited Availability features are considered to be a Proof of Concept as defined in the Confluent Cloud Terms of Service. Confluent may discontinue providing preview releases of the Limited Availability features at any time in Confluent’s sole discretion. + /// + /// `confluentcloud.IdentityProvider` provides an Identity Provider resource that enables creating, editing, and deleting identity providers on Confluent Cloud. + /// + /// ## Example Usage + /// ### Example Identity Provider: Azure AD + /// + /// ```csharp + /// using System.Collections.Generic; + /// using Pulumi; + /// using ConfluentCloud = Pulumi.ConfluentCloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var azure = new ConfluentCloud.IdentityProvider("azure", new() + /// { + /// Description = "My description", + /// DisplayName = "My OIDC Provider: Azure AD", + /// Issuer = "https://login.microsoftonline.com/{tenant_id}/v2.0", + /// JwksUri = "https://login.microsoftonline.com/common/discovery/v2.0/keys", + /// }); + /// + /// }); + /// ``` + /// ### Example Identity Provider: Okta + /// + /// ```csharp + /// using System.Collections.Generic; + /// using Pulumi; + /// using ConfluentCloud = Pulumi.ConfluentCloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var okta = new ConfluentCloud.IdentityProvider("okta", new() + /// { + /// Description = "My description", + /// DisplayName = "My OIDC Provider: Okta", + /// Issuer = "https://mycompany.okta.com/oauth2/default", + /// JwksUri = "https://mycompany.okta.com/oauth2/default/v1/keys", + /// }); + /// + /// }); + /// ``` + /// ## External Documentation + /// + /// * [Authenticating with OAuth](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/overview.html). + /// + /// ## Import + /// + /// You can import an Identity Provider by using Identity Provider ID, for example$ export CONFLUENT_CLOUD_API_KEY="<cloud_api_key>" $ export CONFLUENT_CLOUD_API_SECRET="<cloud_api_secret>" + /// + /// ```sh + /// $ pulumi import confluentcloud:index/identityProvider:IdentityProvider example op-abc123 + /// ``` + /// + /// !> **Warning:** Do not forget to delete terminal command history afterwards for security purposes. + /// + [ConfluentCloudResourceType("confluentcloud:index/identityProvider:IdentityProvider")] + public partial class IdentityProvider : global::Pulumi.CustomResource + { + /// + /// A description for the Identity Provider. + /// + [Output("description")] + public Output Description { get; private set; } = null!; + + /// + /// A human-readable name for the Identity Provider. + /// + [Output("displayName")] + public Output DisplayName { get; private set; } = null!; + + /// + /// A publicly reachable issuer URI for the Identity Provider. The unique issuer URI string represents the entity for issuing tokens. + /// + [Output("issuer")] + public Output Issuer { get; private set; } = null!; + + /// + /// A publicly reachable JSON Web Key Set (JWKS) URI for the Identity Provider. A JSON Web Key Set (JWKS) provides a set of keys containing the public keys used to verify any JSON Web Token (JWT) issued by your OAuth 2.0 identity provider. + /// + [Output("jwksUri")] + public Output JwksUri { get; private set; } = null!; + + + /// + /// Create a IdentityProvider resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public IdentityProvider(string name, IdentityProviderArgs args, CustomResourceOptions? options = null) + : base("confluentcloud:index/identityProvider:IdentityProvider", name, args ?? new IdentityProviderArgs(), MakeResourceOptions(options, "")) + { + } + + private IdentityProvider(string name, Input id, IdentityProviderState? state = null, CustomResourceOptions? options = null) + : base("confluentcloud:index/identityProvider:IdentityProvider", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing IdentityProvider resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// Any extra arguments used during the lookup. + /// A bag of options that control this resource's behavior + public static IdentityProvider Get(string name, Input id, IdentityProviderState? state = null, CustomResourceOptions? options = null) + { + return new IdentityProvider(name, id, state, options); + } + } + + public sealed class IdentityProviderArgs : global::Pulumi.ResourceArgs + { + /// + /// A description for the Identity Provider. + /// + [Input("description", required: true)] + public Input Description { get; set; } = null!; + + /// + /// A human-readable name for the Identity Provider. + /// + [Input("displayName", required: true)] + public Input DisplayName { get; set; } = null!; + + /// + /// A publicly reachable issuer URI for the Identity Provider. The unique issuer URI string represents the entity for issuing tokens. + /// + [Input("issuer", required: true)] + public Input Issuer { get; set; } = null!; + + /// + /// A publicly reachable JSON Web Key Set (JWKS) URI for the Identity Provider. A JSON Web Key Set (JWKS) provides a set of keys containing the public keys used to verify any JSON Web Token (JWT) issued by your OAuth 2.0 identity provider. + /// + [Input("jwksUri", required: true)] + public Input JwksUri { get; set; } = null!; + + public IdentityProviderArgs() + { + } + public static new IdentityProviderArgs Empty => new IdentityProviderArgs(); + } + + public sealed class IdentityProviderState : global::Pulumi.ResourceArgs + { + /// + /// A description for the Identity Provider. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// A human-readable name for the Identity Provider. + /// + [Input("displayName")] + public Input? DisplayName { get; set; } + + /// + /// A publicly reachable issuer URI for the Identity Provider. The unique issuer URI string represents the entity for issuing tokens. + /// + [Input("issuer")] + public Input? Issuer { get; set; } + + /// + /// A publicly reachable JSON Web Key Set (JWKS) URI for the Identity Provider. A JSON Web Key Set (JWKS) provides a set of keys containing the public keys used to verify any JSON Web Token (JWT) issued by your OAuth 2.0 identity provider. + /// + [Input("jwksUri")] + public Input? JwksUri { get; set; } + + public IdentityProviderState() + { + } + public static new IdentityProviderState Empty => new IdentityProviderState(); + } +} diff --git a/sdk/dotnet/Inputs/GetIdentityPoolIdentityProvider.cs b/sdk/dotnet/Inputs/GetIdentityPoolIdentityProvider.cs new file mode 100644 index 00000000..a06740b8 --- /dev/null +++ b/sdk/dotnet/Inputs/GetIdentityPoolIdentityProvider.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.ConfluentCloud.Inputs +{ + + public sealed class GetIdentityPoolIdentityProviderArgs : global::Pulumi.InvokeArgs + { + /// + /// The ID of the Identity Provider associated with the Identity Pool, for example, `op-abc123`. + /// + [Input("id", required: true)] + public string Id { get; set; } = null!; + + public GetIdentityPoolIdentityProviderArgs() + { + } + public static new GetIdentityPoolIdentityProviderArgs Empty => new GetIdentityPoolIdentityProviderArgs(); + } +} diff --git a/sdk/dotnet/Inputs/GetIdentityPoolIdentityProviderArgs.cs b/sdk/dotnet/Inputs/GetIdentityPoolIdentityProviderArgs.cs new file mode 100644 index 00000000..2d3e8818 --- /dev/null +++ b/sdk/dotnet/Inputs/GetIdentityPoolIdentityProviderArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.ConfluentCloud.Inputs +{ + + public sealed class GetIdentityPoolIdentityProviderInputArgs : global::Pulumi.ResourceArgs + { + /// + /// The ID of the Identity Provider associated with the Identity Pool, for example, `op-abc123`. + /// + [Input("id", required: true)] + public Input Id { get; set; } = null!; + + public GetIdentityPoolIdentityProviderInputArgs() + { + } + public static new GetIdentityPoolIdentityProviderInputArgs Empty => new GetIdentityPoolIdentityProviderInputArgs(); + } +} diff --git a/sdk/dotnet/Inputs/GetKsqlClusterEnvironment.cs b/sdk/dotnet/Inputs/GetKsqlClusterEnvironment.cs new file mode 100644 index 00000000..77872430 --- /dev/null +++ b/sdk/dotnet/Inputs/GetKsqlClusterEnvironment.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.ConfluentCloud.Inputs +{ + + public sealed class GetKsqlClusterEnvironmentArgs : global::Pulumi.InvokeArgs + { + /// + /// The ID of the Environment that the ksqlDB cluster belongs to, for example, `env-xyz456`. + /// + [Input("id", required: true)] + public string Id { get; set; } = null!; + + public GetKsqlClusterEnvironmentArgs() + { + } + public static new GetKsqlClusterEnvironmentArgs Empty => new GetKsqlClusterEnvironmentArgs(); + } +} diff --git a/sdk/dotnet/Inputs/GetKsqlClusterEnvironmentArgs.cs b/sdk/dotnet/Inputs/GetKsqlClusterEnvironmentArgs.cs new file mode 100644 index 00000000..21d526e0 --- /dev/null +++ b/sdk/dotnet/Inputs/GetKsqlClusterEnvironmentArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.ConfluentCloud.Inputs +{ + + public sealed class GetKsqlClusterEnvironmentInputArgs : global::Pulumi.ResourceArgs + { + /// + /// The ID of the Environment that the ksqlDB cluster belongs to, for example, `env-xyz456`. + /// + [Input("id", required: true)] + public Input Id { get; set; } = null!; + + public GetKsqlClusterEnvironmentInputArgs() + { + } + public static new GetKsqlClusterEnvironmentInputArgs Empty => new GetKsqlClusterEnvironmentInputArgs(); + } +} diff --git a/sdk/dotnet/Inputs/GetNetworkGcp.cs b/sdk/dotnet/Inputs/GetNetworkGcp.cs index c27b1242..9e0eb555 100644 --- a/sdk/dotnet/Inputs/GetNetworkGcp.cs +++ b/sdk/dotnet/Inputs/GetNetworkGcp.cs @@ -12,8 +12,20 @@ namespace Pulumi.ConfluentCloud.Inputs public sealed class GetNetworkGcpArgs : global::Pulumi.InvokeArgs { + [Input("privateServiceConnectServiceAttachments", required: true)] + private Dictionary? _privateServiceConnectServiceAttachments; + + /// + /// (Optional Map) The mapping of zones to Private Service Connect service attachments if available. Keys are zones and values are [GCP Private Service Connect service attachment](https://cloud.google.com/vpc/docs/configure-private-service-connect-producer#api_7). + /// + public Dictionary PrivateServiceConnectServiceAttachments + { + get => _privateServiceConnectServiceAttachments ?? (_privateServiceConnectServiceAttachments = new Dictionary()); + set => _privateServiceConnectServiceAttachments = value; + } + /// - /// (Required String) The GCP project. + /// (Required String) The GCP project ID. /// [Input("project", required: true)] public string Project { get; set; } = null!; diff --git a/sdk/dotnet/Inputs/GetNetworkGcpArgs.cs b/sdk/dotnet/Inputs/GetNetworkGcpArgs.cs index f324345c..e99d017b 100644 --- a/sdk/dotnet/Inputs/GetNetworkGcpArgs.cs +++ b/sdk/dotnet/Inputs/GetNetworkGcpArgs.cs @@ -12,8 +12,20 @@ namespace Pulumi.ConfluentCloud.Inputs public sealed class GetNetworkGcpInputArgs : global::Pulumi.ResourceArgs { + [Input("privateServiceConnectServiceAttachments", required: true)] + private InputMap? _privateServiceConnectServiceAttachments; + + /// + /// (Optional Map) The mapping of zones to Private Service Connect service attachments if available. Keys are zones and values are [GCP Private Service Connect service attachment](https://cloud.google.com/vpc/docs/configure-private-service-connect-producer#api_7). + /// + public InputMap PrivateServiceConnectServiceAttachments + { + get => _privateServiceConnectServiceAttachments ?? (_privateServiceConnectServiceAttachments = new InputMap()); + set => _privateServiceConnectServiceAttachments = value; + } + /// - /// (Required String) The GCP project. + /// (Required String) The GCP project ID. /// [Input("project", required: true)] public Input Project { get; set; } = null!; diff --git a/sdk/dotnet/Inputs/IdentityPoolIdentityProviderArgs.cs b/sdk/dotnet/Inputs/IdentityPoolIdentityProviderArgs.cs new file mode 100644 index 00000000..813cbfc8 --- /dev/null +++ b/sdk/dotnet/Inputs/IdentityPoolIdentityProviderArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.ConfluentCloud.Inputs +{ + + public sealed class IdentityPoolIdentityProviderArgs : global::Pulumi.ResourceArgs + { + /// + /// The ID of the Identity Provider associated with the Identity Pool, for example, `op-abc123`. + /// + [Input("id", required: true)] + public Input Id { get; set; } = null!; + + public IdentityPoolIdentityProviderArgs() + { + } + public static new IdentityPoolIdentityProviderArgs Empty => new IdentityPoolIdentityProviderArgs(); + } +} diff --git a/sdk/dotnet/Inputs/IdentityPoolIdentityProviderGetArgs.cs b/sdk/dotnet/Inputs/IdentityPoolIdentityProviderGetArgs.cs new file mode 100644 index 00000000..0faa40b1 --- /dev/null +++ b/sdk/dotnet/Inputs/IdentityPoolIdentityProviderGetArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.ConfluentCloud.Inputs +{ + + public sealed class IdentityPoolIdentityProviderGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The ID of the Identity Provider associated with the Identity Pool, for example, `op-abc123`. + /// + [Input("id", required: true)] + public Input Id { get; set; } = null!; + + public IdentityPoolIdentityProviderGetArgs() + { + } + public static new IdentityPoolIdentityProviderGetArgs Empty => new IdentityPoolIdentityProviderGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/KsqlClusterCredentialIdentityArgs.cs b/sdk/dotnet/Inputs/KsqlClusterCredentialIdentityArgs.cs new file mode 100644 index 00000000..e5396381 --- /dev/null +++ b/sdk/dotnet/Inputs/KsqlClusterCredentialIdentityArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.ConfluentCloud.Inputs +{ + + public sealed class KsqlClusterCredentialIdentityArgs : global::Pulumi.ResourceArgs + { + /// + /// The ID of the associated service or user account, for example, `sa-abc123`. + /// + [Input("id", required: true)] + public Input Id { get; set; } = null!; + + public KsqlClusterCredentialIdentityArgs() + { + } + public static new KsqlClusterCredentialIdentityArgs Empty => new KsqlClusterCredentialIdentityArgs(); + } +} diff --git a/sdk/dotnet/Inputs/KsqlClusterCredentialIdentityGetArgs.cs b/sdk/dotnet/Inputs/KsqlClusterCredentialIdentityGetArgs.cs new file mode 100644 index 00000000..0653f2b7 --- /dev/null +++ b/sdk/dotnet/Inputs/KsqlClusterCredentialIdentityGetArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.ConfluentCloud.Inputs +{ + + public sealed class KsqlClusterCredentialIdentityGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The ID of the associated service or user account, for example, `sa-abc123`. + /// + [Input("id", required: true)] + public Input Id { get; set; } = null!; + + public KsqlClusterCredentialIdentityGetArgs() + { + } + public static new KsqlClusterCredentialIdentityGetArgs Empty => new KsqlClusterCredentialIdentityGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/KsqlClusterEnvironmentArgs.cs b/sdk/dotnet/Inputs/KsqlClusterEnvironmentArgs.cs new file mode 100644 index 00000000..d1370f23 --- /dev/null +++ b/sdk/dotnet/Inputs/KsqlClusterEnvironmentArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.ConfluentCloud.Inputs +{ + + public sealed class KsqlClusterEnvironmentArgs : global::Pulumi.ResourceArgs + { + /// + /// The ID of the associated service or user account, for example, `sa-abc123`. + /// + [Input("id", required: true)] + public Input Id { get; set; } = null!; + + public KsqlClusterEnvironmentArgs() + { + } + public static new KsqlClusterEnvironmentArgs Empty => new KsqlClusterEnvironmentArgs(); + } +} diff --git a/sdk/dotnet/Inputs/KsqlClusterEnvironmentGetArgs.cs b/sdk/dotnet/Inputs/KsqlClusterEnvironmentGetArgs.cs new file mode 100644 index 00000000..e2366498 --- /dev/null +++ b/sdk/dotnet/Inputs/KsqlClusterEnvironmentGetArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.ConfluentCloud.Inputs +{ + + public sealed class KsqlClusterEnvironmentGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The ID of the associated service or user account, for example, `sa-abc123`. + /// + [Input("id", required: true)] + public Input Id { get; set; } = null!; + + public KsqlClusterEnvironmentGetArgs() + { + } + public static new KsqlClusterEnvironmentGetArgs Empty => new KsqlClusterEnvironmentGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/KsqlClusterKafkaClusterArgs.cs b/sdk/dotnet/Inputs/KsqlClusterKafkaClusterArgs.cs new file mode 100644 index 00000000..521c5bda --- /dev/null +++ b/sdk/dotnet/Inputs/KsqlClusterKafkaClusterArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.ConfluentCloud.Inputs +{ + + public sealed class KsqlClusterKafkaClusterArgs : global::Pulumi.ResourceArgs + { + /// + /// The ID of the associated service or user account, for example, `sa-abc123`. + /// + [Input("id", required: true)] + public Input Id { get; set; } = null!; + + public KsqlClusterKafkaClusterArgs() + { + } + public static new KsqlClusterKafkaClusterArgs Empty => new KsqlClusterKafkaClusterArgs(); + } +} diff --git a/sdk/dotnet/Inputs/KsqlClusterKafkaClusterGetArgs.cs b/sdk/dotnet/Inputs/KsqlClusterKafkaClusterGetArgs.cs new file mode 100644 index 00000000..d3713fba --- /dev/null +++ b/sdk/dotnet/Inputs/KsqlClusterKafkaClusterGetArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.ConfluentCloud.Inputs +{ + + public sealed class KsqlClusterKafkaClusterGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The ID of the associated service or user account, for example, `sa-abc123`. + /// + [Input("id", required: true)] + public Input Id { get; set; } = null!; + + public KsqlClusterKafkaClusterGetArgs() + { + } + public static new KsqlClusterKafkaClusterGetArgs Empty => new KsqlClusterKafkaClusterGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/NetworkGcpArgs.cs b/sdk/dotnet/Inputs/NetworkGcpArgs.cs index 257d55d3..5a75018f 100644 --- a/sdk/dotnet/Inputs/NetworkGcpArgs.cs +++ b/sdk/dotnet/Inputs/NetworkGcpArgs.cs @@ -12,8 +12,20 @@ namespace Pulumi.ConfluentCloud.Inputs public sealed class NetworkGcpArgs : global::Pulumi.ResourceArgs { + [Input("privateServiceConnectServiceAttachments")] + private InputMap? _privateServiceConnectServiceAttachments; + + /// + /// (Optional Map) The mapping of zones to Private Service Connect service attachments if available. Keys are zones and values are [GCP Private Service Connect service attachment](https://cloud.google.com/vpc/docs/configure-private-service-connect-producer#api_7). + /// + public InputMap PrivateServiceConnectServiceAttachments + { + get => _privateServiceConnectServiceAttachments ?? (_privateServiceConnectServiceAttachments = new InputMap()); + set => _privateServiceConnectServiceAttachments = value; + } + /// - /// (Required String) The GCP project. + /// (Required String) The GCP project ID. /// [Input("project")] public Input? Project { get; set; } diff --git a/sdk/dotnet/Inputs/NetworkGcpGetArgs.cs b/sdk/dotnet/Inputs/NetworkGcpGetArgs.cs index 6b618b20..dc9f19d7 100644 --- a/sdk/dotnet/Inputs/NetworkGcpGetArgs.cs +++ b/sdk/dotnet/Inputs/NetworkGcpGetArgs.cs @@ -12,8 +12,20 @@ namespace Pulumi.ConfluentCloud.Inputs public sealed class NetworkGcpGetArgs : global::Pulumi.ResourceArgs { + [Input("privateServiceConnectServiceAttachments")] + private InputMap? _privateServiceConnectServiceAttachments; + + /// + /// (Optional Map) The mapping of zones to Private Service Connect service attachments if available. Keys are zones and values are [GCP Private Service Connect service attachment](https://cloud.google.com/vpc/docs/configure-private-service-connect-producer#api_7). + /// + public InputMap PrivateServiceConnectServiceAttachments + { + get => _privateServiceConnectServiceAttachments ?? (_privateServiceConnectServiceAttachments = new InputMap()); + set => _privateServiceConnectServiceAttachments = value; + } + /// - /// (Required String) The GCP project. + /// (Required String) The GCP project ID. /// [Input("project")] public Input? Project { get; set; } diff --git a/sdk/dotnet/Inputs/PrivateLinkAccessGcpArgs.cs b/sdk/dotnet/Inputs/PrivateLinkAccessGcpArgs.cs new file mode 100644 index 00000000..8e1b2099 --- /dev/null +++ b/sdk/dotnet/Inputs/PrivateLinkAccessGcpArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.ConfluentCloud.Inputs +{ + + public sealed class PrivateLinkAccessGcpArgs : global::Pulumi.ResourceArgs + { + /// + /// The GCP project ID to allow for Private Service Connect access. You can find your Google Cloud Project ID under **Project ID** section of your [Google Cloud Console dashboard](https://console.cloud.google.com/home/dashboard). + /// + [Input("project", required: true)] + public Input Project { get; set; } = null!; + + public PrivateLinkAccessGcpArgs() + { + } + public static new PrivateLinkAccessGcpArgs Empty => new PrivateLinkAccessGcpArgs(); + } +} diff --git a/sdk/dotnet/Inputs/PrivateLinkAccessGcpGetArgs.cs b/sdk/dotnet/Inputs/PrivateLinkAccessGcpGetArgs.cs new file mode 100644 index 00000000..96f53c56 --- /dev/null +++ b/sdk/dotnet/Inputs/PrivateLinkAccessGcpGetArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.ConfluentCloud.Inputs +{ + + public sealed class PrivateLinkAccessGcpGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The GCP project ID to allow for Private Service Connect access. You can find your Google Cloud Project ID under **Project ID** section of your [Google Cloud Console dashboard](https://console.cloud.google.com/home/dashboard). + /// + [Input("project", required: true)] + public Input Project { get; set; } = null!; + + public PrivateLinkAccessGcpGetArgs() + { + } + public static new PrivateLinkAccessGcpGetArgs Empty => new PrivateLinkAccessGcpGetArgs(); + } +} diff --git a/sdk/dotnet/KsqlCluster.cs b/sdk/dotnet/KsqlCluster.cs new file mode 100644 index 00000000..8a5803c2 --- /dev/null +++ b/sdk/dotnet/KsqlCluster.cs @@ -0,0 +1,237 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.ConfluentCloud +{ + /// + /// ## Import + /// + /// You can import a ksqlDB cluster by using Environment ID and ksqlDB cluster ID, in the format `<Environment ID>/<ksqlDB cluster ID>`, for example$ export CONFLUENT_CLOUD_API_KEY="<cloud_api_key>" $ export CONFLUENT_CLOUD_API_SECRET="<cloud_api_secret>" + /// + /// ```sh + /// $ pulumi import confluentcloud:index/ksqlCluster:KsqlCluster example env-abc123/lksqlc-abc123 + /// ``` + /// + /// !> **Warning:** + /// + /// Do not forget to delete the terminal's command history afterward for security purposes. + /// + [ConfluentCloudResourceType("confluentcloud:index/ksqlCluster:KsqlCluster")] + public partial class KsqlCluster : global::Pulumi.CustomResource + { + /// + /// (Required String) An API Version of the schema version of the ksqlDB cluster, for example, `ksqldbcm/v2`. + /// + [Output("apiVersion")] + public Output ApiVersion { get; private set; } = null!; + + [Output("credentialIdentity")] + public Output CredentialIdentity { get; private set; } = null!; + + /// + /// The number of Confluent Streaming Units (CSUs) for the ksqlDB cluster. + /// + [Output("csu")] + public Output Csu { get; private set; } = null!; + + /// + /// The name of the ksqlDB cluster. + /// + [Output("displayName")] + public Output DisplayName { get; private set; } = null!; + + /// + /// Environment objects represent an isolated namespace for your Confluent resources for organizational purposes. + /// + [Output("environment")] + public Output Environment { get; private set; } = null!; + + /// + /// (Required String) The API endpoint of the ksqlDB cluster, for example, `https://pksqlc-00000.us-central1.gcp.glb.confluent.cloud`. + /// + [Output("httpEndpoint")] + public Output HttpEndpoint { get; private set; } = null!; + + [Output("kafkaCluster")] + public Output KafkaCluster { get; private set; } = null!; + + /// + /// (Required String) A kind of the ksqlDB cluster, for example, `Cluster`. + /// + [Output("kind")] + public Output Kind { get; private set; } = null!; + + /// + /// (Required Integer) The amount of storage (in GB) provisioned to the ksqlDB cluster. + /// + [Output("storage")] + public Output Storage { get; private set; } = null!; + + /// + /// (Required String) Topic name prefix used by this ksqlDB cluster. Used to assign ACLs for this ksqlDB cluster to use, for example, `pksqlc-00000`. + /// + [Output("topicPrefix")] + public Output TopicPrefix { get; private set; } = null!; + + /// + /// Controls whether the row data should be included in the processing log topic. Set it to `false` if you don't want to emit sensitive information to the processing log. Defaults to `true`. + /// + [Output("useDetailedProcessingLog")] + public Output UseDetailedProcessingLog { get; private set; } = null!; + + + /// + /// Create a KsqlCluster resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public KsqlCluster(string name, KsqlClusterArgs args, CustomResourceOptions? options = null) + : base("confluentcloud:index/ksqlCluster:KsqlCluster", name, args ?? new KsqlClusterArgs(), MakeResourceOptions(options, "")) + { + } + + private KsqlCluster(string name, Input id, KsqlClusterState? state = null, CustomResourceOptions? options = null) + : base("confluentcloud:index/ksqlCluster:KsqlCluster", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing KsqlCluster resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// Any extra arguments used during the lookup. + /// A bag of options that control this resource's behavior + public static KsqlCluster Get(string name, Input id, KsqlClusterState? state = null, CustomResourceOptions? options = null) + { + return new KsqlCluster(name, id, state, options); + } + } + + public sealed class KsqlClusterArgs : global::Pulumi.ResourceArgs + { + [Input("credentialIdentity", required: true)] + public Input CredentialIdentity { get; set; } = null!; + + /// + /// The number of Confluent Streaming Units (CSUs) for the ksqlDB cluster. + /// + [Input("csu", required: true)] + public Input Csu { get; set; } = null!; + + /// + /// The name of the ksqlDB cluster. + /// + [Input("displayName", required: true)] + public Input DisplayName { get; set; } = null!; + + /// + /// Environment objects represent an isolated namespace for your Confluent resources for organizational purposes. + /// + [Input("environment", required: true)] + public Input Environment { get; set; } = null!; + + [Input("kafkaCluster", required: true)] + public Input KafkaCluster { get; set; } = null!; + + /// + /// Controls whether the row data should be included in the processing log topic. Set it to `false` if you don't want to emit sensitive information to the processing log. Defaults to `true`. + /// + [Input("useDetailedProcessingLog")] + public Input? UseDetailedProcessingLog { get; set; } + + public KsqlClusterArgs() + { + } + public static new KsqlClusterArgs Empty => new KsqlClusterArgs(); + } + + public sealed class KsqlClusterState : global::Pulumi.ResourceArgs + { + /// + /// (Required String) An API Version of the schema version of the ksqlDB cluster, for example, `ksqldbcm/v2`. + /// + [Input("apiVersion")] + public Input? ApiVersion { get; set; } + + [Input("credentialIdentity")] + public Input? CredentialIdentity { get; set; } + + /// + /// The number of Confluent Streaming Units (CSUs) for the ksqlDB cluster. + /// + [Input("csu")] + public Input? Csu { get; set; } + + /// + /// The name of the ksqlDB cluster. + /// + [Input("displayName")] + public Input? DisplayName { get; set; } + + /// + /// Environment objects represent an isolated namespace for your Confluent resources for organizational purposes. + /// + [Input("environment")] + public Input? Environment { get; set; } + + /// + /// (Required String) The API endpoint of the ksqlDB cluster, for example, `https://pksqlc-00000.us-central1.gcp.glb.confluent.cloud`. + /// + [Input("httpEndpoint")] + public Input? HttpEndpoint { get; set; } + + [Input("kafkaCluster")] + public Input? KafkaCluster { get; set; } + + /// + /// (Required String) A kind of the ksqlDB cluster, for example, `Cluster`. + /// + [Input("kind")] + public Input? Kind { get; set; } + + /// + /// (Required Integer) The amount of storage (in GB) provisioned to the ksqlDB cluster. + /// + [Input("storage")] + public Input? Storage { get; set; } + + /// + /// (Required String) Topic name prefix used by this ksqlDB cluster. Used to assign ACLs for this ksqlDB cluster to use, for example, `pksqlc-00000`. + /// + [Input("topicPrefix")] + public Input? TopicPrefix { get; set; } + + /// + /// Controls whether the row data should be included in the processing log topic. Set it to `false` if you don't want to emit sensitive information to the processing log. Defaults to `true`. + /// + [Input("useDetailedProcessingLog")] + public Input? UseDetailedProcessingLog { get; set; } + + public KsqlClusterState() + { + } + public static new KsqlClusterState Empty => new KsqlClusterState(); + } +} diff --git a/sdk/dotnet/Outputs/GetIdentityPoolIdentityProviderResult.cs b/sdk/dotnet/Outputs/GetIdentityPoolIdentityProviderResult.cs new file mode 100644 index 00000000..2416838b --- /dev/null +++ b/sdk/dotnet/Outputs/GetIdentityPoolIdentityProviderResult.cs @@ -0,0 +1,27 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.ConfluentCloud.Outputs +{ + + [OutputType] + public sealed class GetIdentityPoolIdentityProviderResult + { + /// + /// The ID of the Identity Provider associated with the Identity Pool, for example, `op-abc123`. + /// + public readonly string Id; + + [OutputConstructor] + private GetIdentityPoolIdentityProviderResult(string id) + { + Id = id; + } + } +} diff --git a/sdk/dotnet/Outputs/GetKsqlClusterCredentialIdentityResult.cs b/sdk/dotnet/Outputs/GetKsqlClusterCredentialIdentityResult.cs new file mode 100644 index 00000000..bd67d381 --- /dev/null +++ b/sdk/dotnet/Outputs/GetKsqlClusterCredentialIdentityResult.cs @@ -0,0 +1,27 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.ConfluentCloud.Outputs +{ + + [OutputType] + public sealed class GetKsqlClusterCredentialIdentityResult + { + /// + /// The ID of the Environment that the ksqlDB cluster belongs to, for example, `env-xyz456`. + /// + public readonly string Id; + + [OutputConstructor] + private GetKsqlClusterCredentialIdentityResult(string id) + { + Id = id; + } + } +} diff --git a/sdk/dotnet/Outputs/GetKsqlClusterEnvironmentResult.cs b/sdk/dotnet/Outputs/GetKsqlClusterEnvironmentResult.cs new file mode 100644 index 00000000..a9cc5779 --- /dev/null +++ b/sdk/dotnet/Outputs/GetKsqlClusterEnvironmentResult.cs @@ -0,0 +1,27 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.ConfluentCloud.Outputs +{ + + [OutputType] + public sealed class GetKsqlClusterEnvironmentResult + { + /// + /// The ID of the Environment that the ksqlDB cluster belongs to, for example, `env-xyz456`. + /// + public readonly string Id; + + [OutputConstructor] + private GetKsqlClusterEnvironmentResult(string id) + { + Id = id; + } + } +} diff --git a/sdk/dotnet/Outputs/GetKsqlClusterKafkaClusterResult.cs b/sdk/dotnet/Outputs/GetKsqlClusterKafkaClusterResult.cs new file mode 100644 index 00000000..5704e048 --- /dev/null +++ b/sdk/dotnet/Outputs/GetKsqlClusterKafkaClusterResult.cs @@ -0,0 +1,27 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.ConfluentCloud.Outputs +{ + + [OutputType] + public sealed class GetKsqlClusterKafkaClusterResult + { + /// + /// The ID of the Environment that the ksqlDB cluster belongs to, for example, `env-xyz456`. + /// + public readonly string Id; + + [OutputConstructor] + private GetKsqlClusterKafkaClusterResult(string id) + { + Id = id; + } + } +} diff --git a/sdk/dotnet/Outputs/GetNetworkGcpResult.cs b/sdk/dotnet/Outputs/GetNetworkGcpResult.cs index 899aba84..7c6bcc52 100644 --- a/sdk/dotnet/Outputs/GetNetworkGcpResult.cs +++ b/sdk/dotnet/Outputs/GetNetworkGcpResult.cs @@ -14,7 +14,11 @@ namespace Pulumi.ConfluentCloud.Outputs public sealed class GetNetworkGcpResult { /// - /// (Required String) The GCP project. + /// (Optional Map) The mapping of zones to Private Service Connect service attachments if available. Keys are zones and values are [GCP Private Service Connect service attachment](https://cloud.google.com/vpc/docs/configure-private-service-connect-producer#api_7). + /// + public readonly ImmutableDictionary PrivateServiceConnectServiceAttachments; + /// + /// (Required String) The GCP project ID. /// public readonly string Project; /// @@ -24,10 +28,13 @@ public sealed class GetNetworkGcpResult [OutputConstructor] private GetNetworkGcpResult( + ImmutableDictionary privateServiceConnectServiceAttachments, + string project, string vpcNetwork) { + PrivateServiceConnectServiceAttachments = privateServiceConnectServiceAttachments; Project = project; VpcNetwork = vpcNetwork; } diff --git a/sdk/dotnet/Outputs/GetPrivateLinkAccessGcpResult.cs b/sdk/dotnet/Outputs/GetPrivateLinkAccessGcpResult.cs new file mode 100644 index 00000000..03f1b22f --- /dev/null +++ b/sdk/dotnet/Outputs/GetPrivateLinkAccessGcpResult.cs @@ -0,0 +1,27 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.ConfluentCloud.Outputs +{ + + [OutputType] + public sealed class GetPrivateLinkAccessGcpResult + { + /// + /// (Required String) The GCP project ID to allow for Private Service Connect access. You can find your Google Cloud Project ID under **Project ID** section of your [Google Cloud Console dashboard](https://console.cloud.google.com/home/dashboard). + /// + public readonly string Project; + + [OutputConstructor] + private GetPrivateLinkAccessGcpResult(string project) + { + Project = project; + } + } +} diff --git a/sdk/dotnet/Outputs/IdentityPoolIdentityProvider.cs b/sdk/dotnet/Outputs/IdentityPoolIdentityProvider.cs new file mode 100644 index 00000000..a8bd4990 --- /dev/null +++ b/sdk/dotnet/Outputs/IdentityPoolIdentityProvider.cs @@ -0,0 +1,27 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.ConfluentCloud.Outputs +{ + + [OutputType] + public sealed class IdentityPoolIdentityProvider + { + /// + /// The ID of the Identity Provider associated with the Identity Pool, for example, `op-abc123`. + /// + public readonly string Id; + + [OutputConstructor] + private IdentityPoolIdentityProvider(string id) + { + Id = id; + } + } +} diff --git a/sdk/dotnet/Outputs/KsqlClusterCredentialIdentity.cs b/sdk/dotnet/Outputs/KsqlClusterCredentialIdentity.cs new file mode 100644 index 00000000..bddb1ddf --- /dev/null +++ b/sdk/dotnet/Outputs/KsqlClusterCredentialIdentity.cs @@ -0,0 +1,27 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.ConfluentCloud.Outputs +{ + + [OutputType] + public sealed class KsqlClusterCredentialIdentity + { + /// + /// The ID of the associated service or user account, for example, `sa-abc123`. + /// + public readonly string Id; + + [OutputConstructor] + private KsqlClusterCredentialIdentity(string id) + { + Id = id; + } + } +} diff --git a/sdk/dotnet/Outputs/KsqlClusterEnvironment.cs b/sdk/dotnet/Outputs/KsqlClusterEnvironment.cs new file mode 100644 index 00000000..23021913 --- /dev/null +++ b/sdk/dotnet/Outputs/KsqlClusterEnvironment.cs @@ -0,0 +1,27 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.ConfluentCloud.Outputs +{ + + [OutputType] + public sealed class KsqlClusterEnvironment + { + /// + /// The ID of the associated service or user account, for example, `sa-abc123`. + /// + public readonly string Id; + + [OutputConstructor] + private KsqlClusterEnvironment(string id) + { + Id = id; + } + } +} diff --git a/sdk/dotnet/Outputs/KsqlClusterKafkaCluster.cs b/sdk/dotnet/Outputs/KsqlClusterKafkaCluster.cs new file mode 100644 index 00000000..fbc001e1 --- /dev/null +++ b/sdk/dotnet/Outputs/KsqlClusterKafkaCluster.cs @@ -0,0 +1,27 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.ConfluentCloud.Outputs +{ + + [OutputType] + public sealed class KsqlClusterKafkaCluster + { + /// + /// The ID of the associated service or user account, for example, `sa-abc123`. + /// + public readonly string Id; + + [OutputConstructor] + private KsqlClusterKafkaCluster(string id) + { + Id = id; + } + } +} diff --git a/sdk/dotnet/Outputs/NetworkGcp.cs b/sdk/dotnet/Outputs/NetworkGcp.cs index d6eccdb4..dc82dde5 100644 --- a/sdk/dotnet/Outputs/NetworkGcp.cs +++ b/sdk/dotnet/Outputs/NetworkGcp.cs @@ -14,7 +14,11 @@ namespace Pulumi.ConfluentCloud.Outputs public sealed class NetworkGcp { /// - /// (Required String) The GCP project. + /// (Optional Map) The mapping of zones to Private Service Connect service attachments if available. Keys are zones and values are [GCP Private Service Connect service attachment](https://cloud.google.com/vpc/docs/configure-private-service-connect-producer#api_7). + /// + public readonly ImmutableDictionary? PrivateServiceConnectServiceAttachments; + /// + /// (Required String) The GCP project ID. /// public readonly string? Project; /// @@ -24,10 +28,13 @@ public sealed class NetworkGcp [OutputConstructor] private NetworkGcp( + ImmutableDictionary? privateServiceConnectServiceAttachments, + string? project, string? vpcNetwork) { + PrivateServiceConnectServiceAttachments = privateServiceConnectServiceAttachments; Project = project; VpcNetwork = vpcNetwork; } diff --git a/sdk/dotnet/Outputs/PrivateLinkAccessGcp.cs b/sdk/dotnet/Outputs/PrivateLinkAccessGcp.cs new file mode 100644 index 00000000..fd59dc22 --- /dev/null +++ b/sdk/dotnet/Outputs/PrivateLinkAccessGcp.cs @@ -0,0 +1,27 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.ConfluentCloud.Outputs +{ + + [OutputType] + public sealed class PrivateLinkAccessGcp + { + /// + /// The GCP project ID to allow for Private Service Connect access. You can find your Google Cloud Project ID under **Project ID** section of your [Google Cloud Console dashboard](https://console.cloud.google.com/home/dashboard). + /// + public readonly string Project; + + [OutputConstructor] + private PrivateLinkAccessGcp(string project) + { + Project = project; + } + } +} diff --git a/sdk/dotnet/PrivateLinkAccess.cs b/sdk/dotnet/PrivateLinkAccess.cs index fdf9a1a9..43ebe843 100644 --- a/sdk/dotnet/PrivateLinkAccess.cs +++ b/sdk/dotnet/PrivateLinkAccess.cs @@ -41,6 +41,9 @@ public partial class PrivateLinkAccess : global::Pulumi.CustomResource [Output("environment")] public Output Environment { get; private set; } = null!; + [Output("gcp")] + public Output Gcp { get; private set; } = null!; + /// /// Network represents a network (VPC) in Confluent Cloud. All Networks exist within Confluent-managed cloud provider /// accounts. @@ -112,6 +115,9 @@ public sealed class PrivateLinkAccessArgs : global::Pulumi.ResourceArgs [Input("environment", required: true)] public Input Environment { get; set; } = null!; + [Input("gcp")] + public Input? Gcp { get; set; } + /// /// Network represents a network (VPC) in Confluent Cloud. All Networks exist within Confluent-managed cloud provider /// accounts. @@ -145,6 +151,9 @@ public sealed class PrivateLinkAccessState : global::Pulumi.ResourceArgs [Input("environment")] public Input? Environment { get; set; } + [Input("gcp")] + public Input? Gcp { get; set; } + /// /// Network represents a network (VPC) in Confluent Cloud. All Networks exist within Confluent-managed cloud provider /// accounts. diff --git a/sdk/go/confluentcloud/getIdentityPool.go b/sdk/go/confluentcloud/getIdentityPool.go new file mode 100644 index 00000000..d1b4e580 --- /dev/null +++ b/sdk/go/confluentcloud/getIdentityPool.go @@ -0,0 +1,161 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package confluentcloud + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy) [![Request Access To OAuth API](https://img.shields.io/badge/-Request%20Access%20To%20OAuth%20API-%23bc8540)](mailto:ccloud-api-access+iam-v2-closed-preview@confluent.io?subject=Request%20to%20join%20OAuth%20API%20Closed%20Preview&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Closed%20Preview%20for%20iam/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) +// +// `IdentityPool` describes an Identity Pool data source. +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-confluentcloud/sdk/go/confluentcloud" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// exampleUsingIdIdentityPool, err := confluentcloud.LookupIdentityPool(ctx, &GetIdentityPoolArgs{ +// Id: pulumi.StringRef("pool-xyz456"), +// IdentityProvider: GetIdentityPoolIdentityProvider{ +// Id: "op-abc123", +// }, +// }, nil) +// if err != nil { +// return err +// } +// ctx.Export("exampleUsingId", exampleUsingIdIdentityPool) +// exampleUsingNameIdentityPool, err := confluentcloud.LookupIdentityPool(ctx, &GetIdentityPoolArgs{ +// DisplayName: pulumi.StringRef("My Identity Pool"), +// IdentityProvider: GetIdentityPoolIdentityProvider{ +// Id: "op-abc123", +// }, +// }, nil) +// if err != nil { +// return err +// } +// ctx.Export("exampleUsingName", exampleUsingNameIdentityPool) +// return nil +// }) +// } +// +// ``` +func LookupIdentityPool(ctx *pulumi.Context, args *LookupIdentityPoolArgs, opts ...pulumi.InvokeOption) (*LookupIdentityPoolResult, error) { + var rv LookupIdentityPoolResult + err := ctx.Invoke("confluentcloud:index/getIdentityPool:getIdentityPool", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIdentityPool. +type LookupIdentityPoolArgs struct { + // A human-readable name for the Identity Pool. + DisplayName *string `pulumi:"displayName"` + // The ID of the Identity Provider associated with the Identity Pool, for example, `op-abc123`. + Id *string `pulumi:"id"` + IdentityProvider GetIdentityPoolIdentityProvider `pulumi:"identityProvider"` +} + +// A collection of values returned by getIdentityPool. +type LookupIdentityPoolResult struct { + // (Required String) A description for the Identity Pool. + Description string `pulumi:"description"` + // (Required String) A human-readable name for the Identity Pool. + DisplayName string `pulumi:"displayName"` + // (Required String) A filter expression in [Supported Common Expression Language (CEL)](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html#supported-common-expression-language-cel-filters) that specifies which identities can authenticate using your identity pool (see [Set identity pool filters](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html#set-identity-pool-filters) for more details). + Filter string `pulumi:"filter"` + // (Required String) The ID of the Identity Provider associated with the Identity Pool, for example, `op-abc123`. + Id string `pulumi:"id"` + // (Required String) The JSON Web Token (JWT) claim to extract the authenticating identity to Confluent resources from (see [Registered Claim Names](https://datatracker.ietf.org/doc/html/rfc7519#section-4.1) for more details). This appears in the audit log records, showing, for example, that "identity Z used identity pool X to access topic A". + IdentityClaim string `pulumi:"identityClaim"` + IdentityProvider GetIdentityPoolIdentityProvider `pulumi:"identityProvider"` +} + +func LookupIdentityPoolOutput(ctx *pulumi.Context, args LookupIdentityPoolOutputArgs, opts ...pulumi.InvokeOption) LookupIdentityPoolResultOutput { + return pulumi.ToOutputWithContext(context.Background(), args). + ApplyT(func(v interface{}) (LookupIdentityPoolResult, error) { + args := v.(LookupIdentityPoolArgs) + r, err := LookupIdentityPool(ctx, &args, opts...) + var s LookupIdentityPoolResult + if r != nil { + s = *r + } + return s, err + }).(LookupIdentityPoolResultOutput) +} + +// A collection of arguments for invoking getIdentityPool. +type LookupIdentityPoolOutputArgs struct { + // A human-readable name for the Identity Pool. + DisplayName pulumi.StringPtrInput `pulumi:"displayName"` + // The ID of the Identity Provider associated with the Identity Pool, for example, `op-abc123`. + Id pulumi.StringPtrInput `pulumi:"id"` + IdentityProvider GetIdentityPoolIdentityProviderInput `pulumi:"identityProvider"` +} + +func (LookupIdentityPoolOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIdentityPoolArgs)(nil)).Elem() +} + +// A collection of values returned by getIdentityPool. +type LookupIdentityPoolResultOutput struct{ *pulumi.OutputState } + +func (LookupIdentityPoolResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIdentityPoolResult)(nil)).Elem() +} + +func (o LookupIdentityPoolResultOutput) ToLookupIdentityPoolResultOutput() LookupIdentityPoolResultOutput { + return o +} + +func (o LookupIdentityPoolResultOutput) ToLookupIdentityPoolResultOutputWithContext(ctx context.Context) LookupIdentityPoolResultOutput { + return o +} + +// (Required String) A description for the Identity Pool. +func (o LookupIdentityPoolResultOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v LookupIdentityPoolResult) string { return v.Description }).(pulumi.StringOutput) +} + +// (Required String) A human-readable name for the Identity Pool. +func (o LookupIdentityPoolResultOutput) DisplayName() pulumi.StringOutput { + return o.ApplyT(func(v LookupIdentityPoolResult) string { return v.DisplayName }).(pulumi.StringOutput) +} + +// (Required String) A filter expression in [Supported Common Expression Language (CEL)](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html#supported-common-expression-language-cel-filters) that specifies which identities can authenticate using your identity pool (see [Set identity pool filters](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html#set-identity-pool-filters) for more details). +func (o LookupIdentityPoolResultOutput) Filter() pulumi.StringOutput { + return o.ApplyT(func(v LookupIdentityPoolResult) string { return v.Filter }).(pulumi.StringOutput) +} + +// (Required String) The ID of the Identity Provider associated with the Identity Pool, for example, `op-abc123`. +func (o LookupIdentityPoolResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupIdentityPoolResult) string { return v.Id }).(pulumi.StringOutput) +} + +// (Required String) The JSON Web Token (JWT) claim to extract the authenticating identity to Confluent resources from (see [Registered Claim Names](https://datatracker.ietf.org/doc/html/rfc7519#section-4.1) for more details). This appears in the audit log records, showing, for example, that "identity Z used identity pool X to access topic A". +func (o LookupIdentityPoolResultOutput) IdentityClaim() pulumi.StringOutput { + return o.ApplyT(func(v LookupIdentityPoolResult) string { return v.IdentityClaim }).(pulumi.StringOutput) +} + +func (o LookupIdentityPoolResultOutput) IdentityProvider() GetIdentityPoolIdentityProviderOutput { + return o.ApplyT(func(v LookupIdentityPoolResult) GetIdentityPoolIdentityProvider { return v.IdentityProvider }).(GetIdentityPoolIdentityProviderOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupIdentityPoolResultOutput{}) +} diff --git a/sdk/go/confluentcloud/getIdentityProvider.go b/sdk/go/confluentcloud/getIdentityProvider.go new file mode 100644 index 00000000..a0a74fb7 --- /dev/null +++ b/sdk/go/confluentcloud/getIdentityProvider.go @@ -0,0 +1,148 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package confluentcloud + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy) [![Request Access To OAuth API](https://img.shields.io/badge/-Request%20Access%20To%20OAuth%20API-%23bc8540)](mailto:ccloud-api-access+iam-v2-closed-preview@confluent.io?subject=Request%20to%20join%20OAuth%20API%20Closed%20Preview&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Closed%20Preview%20for%20iam/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) +// +// `IdentityProvider` describes an Identity Provider data source. +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-confluentcloud/sdk/go/confluentcloud" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// exampleUsingIdIdentityProvider, err := confluentcloud.LookupIdentityProvider(ctx, &GetIdentityProviderArgs{ +// Id: pulumi.StringRef("op-abc123"), +// }, nil) +// if err != nil { +// return err +// } +// ctx.Export("exampleUsingId", exampleUsingIdIdentityProvider) +// exampleUsingNameIdentityProvider, err := confluentcloud.LookupIdentityProvider(ctx, &GetIdentityProviderArgs{ +// DisplayName: pulumi.StringRef("My OIDC Provider: Azure AD"), +// }, nil) +// if err != nil { +// return err +// } +// ctx.Export("exampleUsingName", exampleUsingNameIdentityProvider) +// return nil +// }) +// } +// +// ``` +func LookupIdentityProvider(ctx *pulumi.Context, args *LookupIdentityProviderArgs, opts ...pulumi.InvokeOption) (*LookupIdentityProviderResult, error) { + var rv LookupIdentityProviderResult + err := ctx.Invoke("confluentcloud:index/getIdentityProvider:getIdentityProvider", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIdentityProvider. +type LookupIdentityProviderArgs struct { + // A human-readable name for the Identity Provider. + DisplayName *string `pulumi:"displayName"` + // The ID of the Identity Provider, for example, `op-abc123`. + Id *string `pulumi:"id"` +} + +// A collection of values returned by getIdentityProvider. +type LookupIdentityProviderResult struct { + // (Required String) A description for the Identity Provider. + Description string `pulumi:"description"` + // (Required String) A human-readable name for the Identity Provider. + DisplayName string `pulumi:"displayName"` + // (Required String) The ID of the Identity Provider, for example, `op-abc123`. + Id string `pulumi:"id"` + // (Required String) A publicly reachable issuer URI for the Identity Provider. The unique issuer URI string represents the entity for issuing tokens. + Issuer string `pulumi:"issuer"` + // (Required String) A publicly reachable JSON Web Key Set (JWKS) URI for the Identity Provider. A JSON Web Key Set (JWKS) provides a set of keys containing the public keys used to verify any JSON Web Token (JWT) issued by your OAuth 2.0 identity provider. + JwksUri string `pulumi:"jwksUri"` +} + +func LookupIdentityProviderOutput(ctx *pulumi.Context, args LookupIdentityProviderOutputArgs, opts ...pulumi.InvokeOption) LookupIdentityProviderResultOutput { + return pulumi.ToOutputWithContext(context.Background(), args). + ApplyT(func(v interface{}) (LookupIdentityProviderResult, error) { + args := v.(LookupIdentityProviderArgs) + r, err := LookupIdentityProvider(ctx, &args, opts...) + var s LookupIdentityProviderResult + if r != nil { + s = *r + } + return s, err + }).(LookupIdentityProviderResultOutput) +} + +// A collection of arguments for invoking getIdentityProvider. +type LookupIdentityProviderOutputArgs struct { + // A human-readable name for the Identity Provider. + DisplayName pulumi.StringPtrInput `pulumi:"displayName"` + // The ID of the Identity Provider, for example, `op-abc123`. + Id pulumi.StringPtrInput `pulumi:"id"` +} + +func (LookupIdentityProviderOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIdentityProviderArgs)(nil)).Elem() +} + +// A collection of values returned by getIdentityProvider. +type LookupIdentityProviderResultOutput struct{ *pulumi.OutputState } + +func (LookupIdentityProviderResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIdentityProviderResult)(nil)).Elem() +} + +func (o LookupIdentityProviderResultOutput) ToLookupIdentityProviderResultOutput() LookupIdentityProviderResultOutput { + return o +} + +func (o LookupIdentityProviderResultOutput) ToLookupIdentityProviderResultOutputWithContext(ctx context.Context) LookupIdentityProviderResultOutput { + return o +} + +// (Required String) A description for the Identity Provider. +func (o LookupIdentityProviderResultOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v LookupIdentityProviderResult) string { return v.Description }).(pulumi.StringOutput) +} + +// (Required String) A human-readable name for the Identity Provider. +func (o LookupIdentityProviderResultOutput) DisplayName() pulumi.StringOutput { + return o.ApplyT(func(v LookupIdentityProviderResult) string { return v.DisplayName }).(pulumi.StringOutput) +} + +// (Required String) The ID of the Identity Provider, for example, `op-abc123`. +func (o LookupIdentityProviderResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupIdentityProviderResult) string { return v.Id }).(pulumi.StringOutput) +} + +// (Required String) A publicly reachable issuer URI for the Identity Provider. The unique issuer URI string represents the entity for issuing tokens. +func (o LookupIdentityProviderResultOutput) Issuer() pulumi.StringOutput { + return o.ApplyT(func(v LookupIdentityProviderResult) string { return v.Issuer }).(pulumi.StringOutput) +} + +// (Required String) A publicly reachable JSON Web Key Set (JWKS) URI for the Identity Provider. A JSON Web Key Set (JWKS) provides a set of keys containing the public keys used to verify any JSON Web Token (JWT) issued by your OAuth 2.0 identity provider. +func (o LookupIdentityProviderResultOutput) JwksUri() pulumi.StringOutput { + return o.ApplyT(func(v LookupIdentityProviderResult) string { return v.JwksUri }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupIdentityProviderResultOutput{}) +} diff --git a/sdk/go/confluentcloud/getKsqlCluster.go b/sdk/go/confluentcloud/getKsqlCluster.go new file mode 100644 index 00000000..da76d00d --- /dev/null +++ b/sdk/go/confluentcloud/getKsqlCluster.go @@ -0,0 +1,201 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package confluentcloud + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// ## # KsqlCluster Data Source +// +// [![Open Preview](https://img.shields.io/badge/Lifecycle%20Stage-Open%20Preview-%2300afba)](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy) +// +// `KsqlCluster` describes a ksqlDB cluster data source. +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-confluentcloud/sdk/go/confluentcloud" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// exampleUsingIdKsqlCluster, err := confluentcloud.LookupKsqlCluster(ctx, &GetKsqlClusterArgs{ +// Id: pulumi.StringRef("lksqlc-abc123"), +// Environment: GetKsqlClusterEnvironment{ +// Id: "env-xyz456", +// }, +// }, nil) +// if err != nil { +// return err +// } +// ctx.Export("exampleUsingId", exampleUsingIdKsqlCluster) +// exampleUsingNameKsqlCluster, err := confluentcloud.LookupKsqlCluster(ctx, &GetKsqlClusterArgs{ +// DisplayName: pulumi.StringRef("ksqldb_cluster"), +// Environment: GetKsqlClusterEnvironment{ +// Id: "env-xyz456", +// }, +// }, nil) +// if err != nil { +// return err +// } +// ctx.Export("exampleUsingName", exampleUsingNameKsqlCluster) +// return nil +// }) +// } +// +// ``` +func LookupKsqlCluster(ctx *pulumi.Context, args *LookupKsqlClusterArgs, opts ...pulumi.InvokeOption) (*LookupKsqlClusterResult, error) { + var rv LookupKsqlClusterResult + err := ctx.Invoke("confluentcloud:index/getKsqlCluster:getKsqlCluster", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getKsqlCluster. +type LookupKsqlClusterArgs struct { + // The name of the ksqlDB cluster. + DisplayName *string `pulumi:"displayName"` + Environment GetKsqlClusterEnvironment `pulumi:"environment"` + // The ID of the Environment that the ksqlDB cluster belongs to, for example, `env-xyz456`. + Id *string `pulumi:"id"` +} + +// A collection of values returned by getKsqlCluster. +type LookupKsqlClusterResult struct { + // (Required String) An API Version of the schema version of the ksqlDB cluster, for example, `ksqldbcm/v2`. + ApiVersion string `pulumi:"apiVersion"` + CredentialIdentities []GetKsqlClusterCredentialIdentity `pulumi:"credentialIdentities"` + // (Required Number) The number of CSUs (Confluent Streaming Units) in the ksqlDB cluster. + // - `useDetailedProcessingLog` (Optional Boolean) Controls whether the row data should be included in the processing log topic. + Csu int `pulumi:"csu"` + DisplayName string `pulumi:"displayName"` + Environment GetKsqlClusterEnvironment `pulumi:"environment"` + // (Required String) The API endpoint of the ksqlDB cluster, for example, `https://pksqlc-00000.us-central1.gcp.glb.confluent.cloud`. + // - `kafkaCluster` (Optional Configuration Block) supports the following: + HttpEndpoint string `pulumi:"httpEndpoint"` + // (Required String) The ID of the service or user account that the ksqlDB cluster belongs to, for example, `sa-abc123`. + Id string `pulumi:"id"` + KafkaClusters []GetKsqlClusterKafkaCluster `pulumi:"kafkaClusters"` + // (Required String) A kind of the ksqlDB cluster, for example, `Cluster`. + Kind string `pulumi:"kind"` + // (Required Integer) The amount of storage (in GB) provisioned to this cluster. + Storage int `pulumi:"storage"` + // (Required String) Topic name prefix used by this ksqlDB cluster. Used to assign ACLs for this ksqlDB cluster to use, for example, `pksqlc-00000`. + TopicPrefix string `pulumi:"topicPrefix"` + UseDetailedProcessingLog bool `pulumi:"useDetailedProcessingLog"` +} + +func LookupKsqlClusterOutput(ctx *pulumi.Context, args LookupKsqlClusterOutputArgs, opts ...pulumi.InvokeOption) LookupKsqlClusterResultOutput { + return pulumi.ToOutputWithContext(context.Background(), args). + ApplyT(func(v interface{}) (LookupKsqlClusterResult, error) { + args := v.(LookupKsqlClusterArgs) + r, err := LookupKsqlCluster(ctx, &args, opts...) + var s LookupKsqlClusterResult + if r != nil { + s = *r + } + return s, err + }).(LookupKsqlClusterResultOutput) +} + +// A collection of arguments for invoking getKsqlCluster. +type LookupKsqlClusterOutputArgs struct { + // The name of the ksqlDB cluster. + DisplayName pulumi.StringPtrInput `pulumi:"displayName"` + Environment GetKsqlClusterEnvironmentInput `pulumi:"environment"` + // The ID of the Environment that the ksqlDB cluster belongs to, for example, `env-xyz456`. + Id pulumi.StringPtrInput `pulumi:"id"` +} + +func (LookupKsqlClusterOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupKsqlClusterArgs)(nil)).Elem() +} + +// A collection of values returned by getKsqlCluster. +type LookupKsqlClusterResultOutput struct{ *pulumi.OutputState } + +func (LookupKsqlClusterResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupKsqlClusterResult)(nil)).Elem() +} + +func (o LookupKsqlClusterResultOutput) ToLookupKsqlClusterResultOutput() LookupKsqlClusterResultOutput { + return o +} + +func (o LookupKsqlClusterResultOutput) ToLookupKsqlClusterResultOutputWithContext(ctx context.Context) LookupKsqlClusterResultOutput { + return o +} + +// (Required String) An API Version of the schema version of the ksqlDB cluster, for example, `ksqldbcm/v2`. +func (o LookupKsqlClusterResultOutput) ApiVersion() pulumi.StringOutput { + return o.ApplyT(func(v LookupKsqlClusterResult) string { return v.ApiVersion }).(pulumi.StringOutput) +} + +func (o LookupKsqlClusterResultOutput) CredentialIdentities() GetKsqlClusterCredentialIdentityArrayOutput { + return o.ApplyT(func(v LookupKsqlClusterResult) []GetKsqlClusterCredentialIdentity { return v.CredentialIdentities }).(GetKsqlClusterCredentialIdentityArrayOutput) +} + +// (Required Number) The number of CSUs (Confluent Streaming Units) in the ksqlDB cluster. +// - `useDetailedProcessingLog` (Optional Boolean) Controls whether the row data should be included in the processing log topic. +func (o LookupKsqlClusterResultOutput) Csu() pulumi.IntOutput { + return o.ApplyT(func(v LookupKsqlClusterResult) int { return v.Csu }).(pulumi.IntOutput) +} + +func (o LookupKsqlClusterResultOutput) DisplayName() pulumi.StringOutput { + return o.ApplyT(func(v LookupKsqlClusterResult) string { return v.DisplayName }).(pulumi.StringOutput) +} + +func (o LookupKsqlClusterResultOutput) Environment() GetKsqlClusterEnvironmentOutput { + return o.ApplyT(func(v LookupKsqlClusterResult) GetKsqlClusterEnvironment { return v.Environment }).(GetKsqlClusterEnvironmentOutput) +} + +// (Required String) The API endpoint of the ksqlDB cluster, for example, `https://pksqlc-00000.us-central1.gcp.glb.confluent.cloud`. +// - `kafkaCluster` (Optional Configuration Block) supports the following: +func (o LookupKsqlClusterResultOutput) HttpEndpoint() pulumi.StringOutput { + return o.ApplyT(func(v LookupKsqlClusterResult) string { return v.HttpEndpoint }).(pulumi.StringOutput) +} + +// (Required String) The ID of the service or user account that the ksqlDB cluster belongs to, for example, `sa-abc123`. +func (o LookupKsqlClusterResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupKsqlClusterResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupKsqlClusterResultOutput) KafkaClusters() GetKsqlClusterKafkaClusterArrayOutput { + return o.ApplyT(func(v LookupKsqlClusterResult) []GetKsqlClusterKafkaCluster { return v.KafkaClusters }).(GetKsqlClusterKafkaClusterArrayOutput) +} + +// (Required String) A kind of the ksqlDB cluster, for example, `Cluster`. +func (o LookupKsqlClusterResultOutput) Kind() pulumi.StringOutput { + return o.ApplyT(func(v LookupKsqlClusterResult) string { return v.Kind }).(pulumi.StringOutput) +} + +// (Required Integer) The amount of storage (in GB) provisioned to this cluster. +func (o LookupKsqlClusterResultOutput) Storage() pulumi.IntOutput { + return o.ApplyT(func(v LookupKsqlClusterResult) int { return v.Storage }).(pulumi.IntOutput) +} + +// (Required String) Topic name prefix used by this ksqlDB cluster. Used to assign ACLs for this ksqlDB cluster to use, for example, `pksqlc-00000`. +func (o LookupKsqlClusterResultOutput) TopicPrefix() pulumi.StringOutput { + return o.ApplyT(func(v LookupKsqlClusterResult) string { return v.TopicPrefix }).(pulumi.StringOutput) +} + +func (o LookupKsqlClusterResultOutput) UseDetailedProcessingLog() pulumi.BoolOutput { + return o.ApplyT(func(v LookupKsqlClusterResult) bool { return v.UseDetailedProcessingLog }).(pulumi.BoolOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupKsqlClusterResultOutput{}) +} diff --git a/sdk/go/confluentcloud/getPrivateLinkAccess.go b/sdk/go/confluentcloud/getPrivateLinkAccess.go index 228cb4ef..91f44fab 100644 --- a/sdk/go/confluentcloud/getPrivateLinkAccess.go +++ b/sdk/go/confluentcloud/getPrivateLinkAccess.go @@ -81,6 +81,8 @@ type LookupPrivateLinkAccessResult struct { // - `environment` (Required Configuration Block) supports the following: DisplayName string `pulumi:"displayName"` Environment GetPrivateLinkAccessEnvironment `pulumi:"environment"` + // (Optional Configuration Block) The GCP-specific Private Service Connect details if available. It supports the following: + Gcps []GetPrivateLinkAccessGcp `pulumi:"gcps"` // (Required String) The ID of the Network that the Private Link Access belongs to, for example, `n-abc123`. Id string `pulumi:"id"` Networks []GetPrivateLinkAccessNetwork `pulumi:"networks"` @@ -147,6 +149,11 @@ func (o LookupPrivateLinkAccessResultOutput) Environment() GetPrivateLinkAccessE return o.ApplyT(func(v LookupPrivateLinkAccessResult) GetPrivateLinkAccessEnvironment { return v.Environment }).(GetPrivateLinkAccessEnvironmentOutput) } +// (Optional Configuration Block) The GCP-specific Private Service Connect details if available. It supports the following: +func (o LookupPrivateLinkAccessResultOutput) Gcps() GetPrivateLinkAccessGcpArrayOutput { + return o.ApplyT(func(v LookupPrivateLinkAccessResult) []GetPrivateLinkAccessGcp { return v.Gcps }).(GetPrivateLinkAccessGcpArrayOutput) +} + // (Required String) The ID of the Network that the Private Link Access belongs to, for example, `n-abc123`. func (o LookupPrivateLinkAccessResultOutput) Id() pulumi.StringOutput { return o.ApplyT(func(v LookupPrivateLinkAccessResult) string { return v.Id }).(pulumi.StringOutput) diff --git a/sdk/go/confluentcloud/identityPool.go b/sdk/go/confluentcloud/identityPool.go new file mode 100644 index 00000000..8797eb5d --- /dev/null +++ b/sdk/go/confluentcloud/identityPool.go @@ -0,0 +1,391 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package confluentcloud + +import ( + "context" + "reflect" + + "github.com/pkg/errors" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy) [![Request Access To OAuth API](https://img.shields.io/badge/-Request%20Access%20To%20OAuth%20API-%23bc8540)](mailto:ccloud-api-access+iam-v2-closed-preview@confluent.io?subject=Request%20to%20join%20OAuth%20API%20Closed%20Preview&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Closed%20Preview%20for%20iam/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) +// +// > **Note:** `IdentityPool` resource is available in a **Limited Availability** for early adopters. Limited Availability features are introduced to gather customer feedback. This feature should be used only for evaluation and non-production testing purposes or to provide feedback to Confluent, particularly as it becomes more widely available in follow-on editions.\ +// **Limited Availability** features are intended for evaluation use in development and testing environments only, and not for production use. The warranty, SLA, and Support Services provisions of your agreement with Confluent do not apply to Limited Availability features. Limited Availability features are considered to be a Proof of Concept as defined in the Confluent Cloud Terms of Service. Confluent may discontinue providing preview releases of the Limited Availability features at any time in Confluent’s sole discretion. +// +// `IdentityPool` provides an Identity Pool resource that enables creating, editing, and deleting identity pools on Confluent Cloud. +// +// ## Example Usage +// ### Example Identity Pool to be used with Azure AD +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-confluentcloud/sdk/go/confluentcloud" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// azure, err := confluentcloud.NewIdentityProvider(ctx, "azure", &confluentcloud.IdentityProviderArgs{ +// DisplayName: pulumi.String("My OIDC Provider: Azure AD"), +// Description: pulumi.String("My description"), +// Issuer: pulumi.String("https://login.microsoftonline.com/{tenant_id}/v2.0"), +// JwksUri: pulumi.String("https://login.microsoftonline.com/common/discovery/v2.0/keys"), +// }) +// if err != nil { +// return err +// } +// _, err = confluentcloud.NewIdentityPool(ctx, "example", &confluentcloud.IdentityPoolArgs{ +// IdentityProvider: &IdentityPoolIdentityProviderArgs{ +// Id: azure.ID(), +// }, +// DisplayName: pulumi.String("My Identity Pool"), +// Description: pulumi.String("Prod Access to Kafka clusters to Release Engineering"), +// IdentityClaim: pulumi.String("claims.sub"), +// Filter: pulumi.String("claims.aud==\"confluent\" && claims.group!=\"invalid_group\""), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// ### Example Identity Pool to be used with Okta +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-confluentcloud/sdk/go/confluentcloud" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// okta, err := confluentcloud.NewIdentityProvider(ctx, "okta", &confluentcloud.IdentityProviderArgs{ +// DisplayName: pulumi.String("My OIDC Provider: Okta"), +// Description: pulumi.String("My description"), +// Issuer: pulumi.String("https://mycompany.okta.com/oauth2/default"), +// JwksUri: pulumi.String("https://mycompany.okta.com/oauth2/default/v1/keys"), +// }) +// if err != nil { +// return err +// } +// _, err = confluentcloud.NewIdentityPool(ctx, "example", &confluentcloud.IdentityPoolArgs{ +// IdentityProvider: &IdentityPoolIdentityProviderArgs{ +// Id: okta.ID(), +// }, +// DisplayName: pulumi.String("My Identity Pool"), +// Description: pulumi.String("Prod Access to Kafka clusters to Release Engineering"), +// IdentityClaim: pulumi.String("claims.sub"), +// Filter: pulumi.String("claims.aud==\"confluent\" && claims.group!=\"invalid_group\""), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// ## External Documentation +// +// * [Use identity pools with your OAuth provider](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html). +// +// ## Import +// +// You can import an Identity Pool by using Identity Provider ID and Identity Pool ID, in the format `/`. The following example shows how to import an Identity Pool$ export CONFLUENT_CLOUD_API_KEY="" $ export CONFLUENT_CLOUD_API_SECRET="" +// +// ```sh +// +// $ pulumi import confluentcloud:index/identityPool:IdentityPool example op-abc123/pool-xyz456 +// +// ``` +// +// !> **Warning:** Do not forget to delete terminal command history afterwards for security purposes. +type IdentityPool struct { + pulumi.CustomResourceState + + // A description for the Identity Pool. + Description pulumi.StringOutput `pulumi:"description"` + // A human-readable name for the Identity Pool. + DisplayName pulumi.StringOutput `pulumi:"displayName"` + // A filter expression in [Supported Common Expression Language (CEL)](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html#supported-common-expression-language-cel-filters) that specifies which identities can authenticate using your identity pool (see [Set identity pool filters](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html#set-identity-pool-filters) for more details). + Filter pulumi.StringOutput `pulumi:"filter"` + // The JSON Web Token (JWT) claim to extract the authenticating identity to Confluent resources from (see [Registered Claim Names](https://datatracker.ietf.org/doc/html/rfc7519#section-4.1) for more details). This appears in the audit log records, showing, for example, that "identity Z used identity pool X to access topic A". + IdentityClaim pulumi.StringOutput `pulumi:"identityClaim"` + // Identity Provider objects represent external OAuth/OpenID Connect providers within Confluent Cloud. + IdentityProvider IdentityPoolIdentityProviderOutput `pulumi:"identityProvider"` +} + +// NewIdentityPool registers a new resource with the given unique name, arguments, and options. +func NewIdentityPool(ctx *pulumi.Context, + name string, args *IdentityPoolArgs, opts ...pulumi.ResourceOption) (*IdentityPool, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Description == nil { + return nil, errors.New("invalid value for required argument 'Description'") + } + if args.DisplayName == nil { + return nil, errors.New("invalid value for required argument 'DisplayName'") + } + if args.Filter == nil { + return nil, errors.New("invalid value for required argument 'Filter'") + } + if args.IdentityClaim == nil { + return nil, errors.New("invalid value for required argument 'IdentityClaim'") + } + if args.IdentityProvider == nil { + return nil, errors.New("invalid value for required argument 'IdentityProvider'") + } + var resource IdentityPool + err := ctx.RegisterResource("confluentcloud:index/identityPool:IdentityPool", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIdentityPool gets an existing IdentityPool resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIdentityPool(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IdentityPoolState, opts ...pulumi.ResourceOption) (*IdentityPool, error) { + var resource IdentityPool + err := ctx.ReadResource("confluentcloud:index/identityPool:IdentityPool", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IdentityPool resources. +type identityPoolState struct { + // A description for the Identity Pool. + Description *string `pulumi:"description"` + // A human-readable name for the Identity Pool. + DisplayName *string `pulumi:"displayName"` + // A filter expression in [Supported Common Expression Language (CEL)](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html#supported-common-expression-language-cel-filters) that specifies which identities can authenticate using your identity pool (see [Set identity pool filters](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html#set-identity-pool-filters) for more details). + Filter *string `pulumi:"filter"` + // The JSON Web Token (JWT) claim to extract the authenticating identity to Confluent resources from (see [Registered Claim Names](https://datatracker.ietf.org/doc/html/rfc7519#section-4.1) for more details). This appears in the audit log records, showing, for example, that "identity Z used identity pool X to access topic A". + IdentityClaim *string `pulumi:"identityClaim"` + // Identity Provider objects represent external OAuth/OpenID Connect providers within Confluent Cloud. + IdentityProvider *IdentityPoolIdentityProvider `pulumi:"identityProvider"` +} + +type IdentityPoolState struct { + // A description for the Identity Pool. + Description pulumi.StringPtrInput + // A human-readable name for the Identity Pool. + DisplayName pulumi.StringPtrInput + // A filter expression in [Supported Common Expression Language (CEL)](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html#supported-common-expression-language-cel-filters) that specifies which identities can authenticate using your identity pool (see [Set identity pool filters](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html#set-identity-pool-filters) for more details). + Filter pulumi.StringPtrInput + // The JSON Web Token (JWT) claim to extract the authenticating identity to Confluent resources from (see [Registered Claim Names](https://datatracker.ietf.org/doc/html/rfc7519#section-4.1) for more details). This appears in the audit log records, showing, for example, that "identity Z used identity pool X to access topic A". + IdentityClaim pulumi.StringPtrInput + // Identity Provider objects represent external OAuth/OpenID Connect providers within Confluent Cloud. + IdentityProvider IdentityPoolIdentityProviderPtrInput +} + +func (IdentityPoolState) ElementType() reflect.Type { + return reflect.TypeOf((*identityPoolState)(nil)).Elem() +} + +type identityPoolArgs struct { + // A description for the Identity Pool. + Description string `pulumi:"description"` + // A human-readable name for the Identity Pool. + DisplayName string `pulumi:"displayName"` + // A filter expression in [Supported Common Expression Language (CEL)](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html#supported-common-expression-language-cel-filters) that specifies which identities can authenticate using your identity pool (see [Set identity pool filters](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html#set-identity-pool-filters) for more details). + Filter string `pulumi:"filter"` + // The JSON Web Token (JWT) claim to extract the authenticating identity to Confluent resources from (see [Registered Claim Names](https://datatracker.ietf.org/doc/html/rfc7519#section-4.1) for more details). This appears in the audit log records, showing, for example, that "identity Z used identity pool X to access topic A". + IdentityClaim string `pulumi:"identityClaim"` + // Identity Provider objects represent external OAuth/OpenID Connect providers within Confluent Cloud. + IdentityProvider IdentityPoolIdentityProvider `pulumi:"identityProvider"` +} + +// The set of arguments for constructing a IdentityPool resource. +type IdentityPoolArgs struct { + // A description for the Identity Pool. + Description pulumi.StringInput + // A human-readable name for the Identity Pool. + DisplayName pulumi.StringInput + // A filter expression in [Supported Common Expression Language (CEL)](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html#supported-common-expression-language-cel-filters) that specifies which identities can authenticate using your identity pool (see [Set identity pool filters](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html#set-identity-pool-filters) for more details). + Filter pulumi.StringInput + // The JSON Web Token (JWT) claim to extract the authenticating identity to Confluent resources from (see [Registered Claim Names](https://datatracker.ietf.org/doc/html/rfc7519#section-4.1) for more details). This appears in the audit log records, showing, for example, that "identity Z used identity pool X to access topic A". + IdentityClaim pulumi.StringInput + // Identity Provider objects represent external OAuth/OpenID Connect providers within Confluent Cloud. + IdentityProvider IdentityPoolIdentityProviderInput +} + +func (IdentityPoolArgs) ElementType() reflect.Type { + return reflect.TypeOf((*identityPoolArgs)(nil)).Elem() +} + +type IdentityPoolInput interface { + pulumi.Input + + ToIdentityPoolOutput() IdentityPoolOutput + ToIdentityPoolOutputWithContext(ctx context.Context) IdentityPoolOutput +} + +func (*IdentityPool) ElementType() reflect.Type { + return reflect.TypeOf((**IdentityPool)(nil)).Elem() +} + +func (i *IdentityPool) ToIdentityPoolOutput() IdentityPoolOutput { + return i.ToIdentityPoolOutputWithContext(context.Background()) +} + +func (i *IdentityPool) ToIdentityPoolOutputWithContext(ctx context.Context) IdentityPoolOutput { + return pulumi.ToOutputWithContext(ctx, i).(IdentityPoolOutput) +} + +// IdentityPoolArrayInput is an input type that accepts IdentityPoolArray and IdentityPoolArrayOutput values. +// You can construct a concrete instance of `IdentityPoolArrayInput` via: +// +// IdentityPoolArray{ IdentityPoolArgs{...} } +type IdentityPoolArrayInput interface { + pulumi.Input + + ToIdentityPoolArrayOutput() IdentityPoolArrayOutput + ToIdentityPoolArrayOutputWithContext(context.Context) IdentityPoolArrayOutput +} + +type IdentityPoolArray []IdentityPoolInput + +func (IdentityPoolArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*IdentityPool)(nil)).Elem() +} + +func (i IdentityPoolArray) ToIdentityPoolArrayOutput() IdentityPoolArrayOutput { + return i.ToIdentityPoolArrayOutputWithContext(context.Background()) +} + +func (i IdentityPoolArray) ToIdentityPoolArrayOutputWithContext(ctx context.Context) IdentityPoolArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IdentityPoolArrayOutput) +} + +// IdentityPoolMapInput is an input type that accepts IdentityPoolMap and IdentityPoolMapOutput values. +// You can construct a concrete instance of `IdentityPoolMapInput` via: +// +// IdentityPoolMap{ "key": IdentityPoolArgs{...} } +type IdentityPoolMapInput interface { + pulumi.Input + + ToIdentityPoolMapOutput() IdentityPoolMapOutput + ToIdentityPoolMapOutputWithContext(context.Context) IdentityPoolMapOutput +} + +type IdentityPoolMap map[string]IdentityPoolInput + +func (IdentityPoolMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*IdentityPool)(nil)).Elem() +} + +func (i IdentityPoolMap) ToIdentityPoolMapOutput() IdentityPoolMapOutput { + return i.ToIdentityPoolMapOutputWithContext(context.Background()) +} + +func (i IdentityPoolMap) ToIdentityPoolMapOutputWithContext(ctx context.Context) IdentityPoolMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(IdentityPoolMapOutput) +} + +type IdentityPoolOutput struct{ *pulumi.OutputState } + +func (IdentityPoolOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IdentityPool)(nil)).Elem() +} + +func (o IdentityPoolOutput) ToIdentityPoolOutput() IdentityPoolOutput { + return o +} + +func (o IdentityPoolOutput) ToIdentityPoolOutputWithContext(ctx context.Context) IdentityPoolOutput { + return o +} + +// A description for the Identity Pool. +func (o IdentityPoolOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v *IdentityPool) pulumi.StringOutput { return v.Description }).(pulumi.StringOutput) +} + +// A human-readable name for the Identity Pool. +func (o IdentityPoolOutput) DisplayName() pulumi.StringOutput { + return o.ApplyT(func(v *IdentityPool) pulumi.StringOutput { return v.DisplayName }).(pulumi.StringOutput) +} + +// A filter expression in [Supported Common Expression Language (CEL)](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html#supported-common-expression-language-cel-filters) that specifies which identities can authenticate using your identity pool (see [Set identity pool filters](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html#set-identity-pool-filters) for more details). +func (o IdentityPoolOutput) Filter() pulumi.StringOutput { + return o.ApplyT(func(v *IdentityPool) pulumi.StringOutput { return v.Filter }).(pulumi.StringOutput) +} + +// The JSON Web Token (JWT) claim to extract the authenticating identity to Confluent resources from (see [Registered Claim Names](https://datatracker.ietf.org/doc/html/rfc7519#section-4.1) for more details). This appears in the audit log records, showing, for example, that "identity Z used identity pool X to access topic A". +func (o IdentityPoolOutput) IdentityClaim() pulumi.StringOutput { + return o.ApplyT(func(v *IdentityPool) pulumi.StringOutput { return v.IdentityClaim }).(pulumi.StringOutput) +} + +// Identity Provider objects represent external OAuth/OpenID Connect providers within Confluent Cloud. +func (o IdentityPoolOutput) IdentityProvider() IdentityPoolIdentityProviderOutput { + return o.ApplyT(func(v *IdentityPool) IdentityPoolIdentityProviderOutput { return v.IdentityProvider }).(IdentityPoolIdentityProviderOutput) +} + +type IdentityPoolArrayOutput struct{ *pulumi.OutputState } + +func (IdentityPoolArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*IdentityPool)(nil)).Elem() +} + +func (o IdentityPoolArrayOutput) ToIdentityPoolArrayOutput() IdentityPoolArrayOutput { + return o +} + +func (o IdentityPoolArrayOutput) ToIdentityPoolArrayOutputWithContext(ctx context.Context) IdentityPoolArrayOutput { + return o +} + +func (o IdentityPoolArrayOutput) Index(i pulumi.IntInput) IdentityPoolOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *IdentityPool { + return vs[0].([]*IdentityPool)[vs[1].(int)] + }).(IdentityPoolOutput) +} + +type IdentityPoolMapOutput struct{ *pulumi.OutputState } + +func (IdentityPoolMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*IdentityPool)(nil)).Elem() +} + +func (o IdentityPoolMapOutput) ToIdentityPoolMapOutput() IdentityPoolMapOutput { + return o +} + +func (o IdentityPoolMapOutput) ToIdentityPoolMapOutputWithContext(ctx context.Context) IdentityPoolMapOutput { + return o +} + +func (o IdentityPoolMapOutput) MapIndex(k pulumi.StringInput) IdentityPoolOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *IdentityPool { + return vs[0].(map[string]*IdentityPool)[vs[1].(string)] + }).(IdentityPoolOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IdentityPoolInput)(nil)).Elem(), &IdentityPool{}) + pulumi.RegisterInputType(reflect.TypeOf((*IdentityPoolArrayInput)(nil)).Elem(), IdentityPoolArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IdentityPoolMapInput)(nil)).Elem(), IdentityPoolMap{}) + pulumi.RegisterOutputType(IdentityPoolOutput{}) + pulumi.RegisterOutputType(IdentityPoolArrayOutput{}) + pulumi.RegisterOutputType(IdentityPoolMapOutput{}) +} diff --git a/sdk/go/confluentcloud/identityProvider.go b/sdk/go/confluentcloud/identityProvider.go new file mode 100644 index 00000000..b4826d76 --- /dev/null +++ b/sdk/go/confluentcloud/identityProvider.go @@ -0,0 +1,349 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package confluentcloud + +import ( + "context" + "reflect" + + "github.com/pkg/errors" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy) [![Request Access To OAuth API](https://img.shields.io/badge/-Request%20Access%20To%20OAuth%20API-%23bc8540)](mailto:ccloud-api-access+iam-v2-closed-preview@confluent.io?subject=Request%20to%20join%20OAuth%20API%20Closed%20Preview&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Closed%20Preview%20for%20iam/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) +// +// > **Note:** `IdentityProvider` resource is available in a **Limited Availability** for early adopters. Limited Availability features are introduced to gather customer feedback. This feature should be used only for evaluation and non-production testing purposes or to provide feedback to Confluent, particularly as it becomes more widely available in follow-on editions.\ +// **Limited Availability** features are intended for evaluation use in development and testing environments only, and not for production use. The warranty, SLA, and Support Services provisions of your agreement with Confluent do not apply to Limited Availability features. Limited Availability features are considered to be a Proof of Concept as defined in the Confluent Cloud Terms of Service. Confluent may discontinue providing preview releases of the Limited Availability features at any time in Confluent’s sole discretion. +// +// `IdentityProvider` provides an Identity Provider resource that enables creating, editing, and deleting identity providers on Confluent Cloud. +// +// ## Example Usage +// ### Example Identity Provider: Azure AD +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-confluentcloud/sdk/go/confluentcloud" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := confluentcloud.NewIdentityProvider(ctx, "azure", &confluentcloud.IdentityProviderArgs{ +// Description: pulumi.String("My description"), +// DisplayName: pulumi.String("My OIDC Provider: Azure AD"), +// Issuer: pulumi.String("https://login.microsoftonline.com/{tenant_id}/v2.0"), +// JwksUri: pulumi.String("https://login.microsoftonline.com/common/discovery/v2.0/keys"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// ### Example Identity Provider: Okta +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-confluentcloud/sdk/go/confluentcloud" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := confluentcloud.NewIdentityProvider(ctx, "okta", &confluentcloud.IdentityProviderArgs{ +// Description: pulumi.String("My description"), +// DisplayName: pulumi.String("My OIDC Provider: Okta"), +// Issuer: pulumi.String("https://mycompany.okta.com/oauth2/default"), +// JwksUri: pulumi.String("https://mycompany.okta.com/oauth2/default/v1/keys"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// ## External Documentation +// +// * [Authenticating with OAuth](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/overview.html). +// +// ## Import +// +// You can import an Identity Provider by using Identity Provider ID, for example$ export CONFLUENT_CLOUD_API_KEY="" $ export CONFLUENT_CLOUD_API_SECRET="" +// +// ```sh +// +// $ pulumi import confluentcloud:index/identityProvider:IdentityProvider example op-abc123 +// +// ``` +// +// !> **Warning:** Do not forget to delete terminal command history afterwards for security purposes. +type IdentityProvider struct { + pulumi.CustomResourceState + + // A description for the Identity Provider. + Description pulumi.StringOutput `pulumi:"description"` + // A human-readable name for the Identity Provider. + DisplayName pulumi.StringOutput `pulumi:"displayName"` + // A publicly reachable issuer URI for the Identity Provider. The unique issuer URI string represents the entity for issuing tokens. + Issuer pulumi.StringOutput `pulumi:"issuer"` + // A publicly reachable JSON Web Key Set (JWKS) URI for the Identity Provider. A JSON Web Key Set (JWKS) provides a set of keys containing the public keys used to verify any JSON Web Token (JWT) issued by your OAuth 2.0 identity provider. + JwksUri pulumi.StringOutput `pulumi:"jwksUri"` +} + +// NewIdentityProvider registers a new resource with the given unique name, arguments, and options. +func NewIdentityProvider(ctx *pulumi.Context, + name string, args *IdentityProviderArgs, opts ...pulumi.ResourceOption) (*IdentityProvider, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Description == nil { + return nil, errors.New("invalid value for required argument 'Description'") + } + if args.DisplayName == nil { + return nil, errors.New("invalid value for required argument 'DisplayName'") + } + if args.Issuer == nil { + return nil, errors.New("invalid value for required argument 'Issuer'") + } + if args.JwksUri == nil { + return nil, errors.New("invalid value for required argument 'JwksUri'") + } + var resource IdentityProvider + err := ctx.RegisterResource("confluentcloud:index/identityProvider:IdentityProvider", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIdentityProvider gets an existing IdentityProvider resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIdentityProvider(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IdentityProviderState, opts ...pulumi.ResourceOption) (*IdentityProvider, error) { + var resource IdentityProvider + err := ctx.ReadResource("confluentcloud:index/identityProvider:IdentityProvider", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IdentityProvider resources. +type identityProviderState struct { + // A description for the Identity Provider. + Description *string `pulumi:"description"` + // A human-readable name for the Identity Provider. + DisplayName *string `pulumi:"displayName"` + // A publicly reachable issuer URI for the Identity Provider. The unique issuer URI string represents the entity for issuing tokens. + Issuer *string `pulumi:"issuer"` + // A publicly reachable JSON Web Key Set (JWKS) URI for the Identity Provider. A JSON Web Key Set (JWKS) provides a set of keys containing the public keys used to verify any JSON Web Token (JWT) issued by your OAuth 2.0 identity provider. + JwksUri *string `pulumi:"jwksUri"` +} + +type IdentityProviderState struct { + // A description for the Identity Provider. + Description pulumi.StringPtrInput + // A human-readable name for the Identity Provider. + DisplayName pulumi.StringPtrInput + // A publicly reachable issuer URI for the Identity Provider. The unique issuer URI string represents the entity for issuing tokens. + Issuer pulumi.StringPtrInput + // A publicly reachable JSON Web Key Set (JWKS) URI for the Identity Provider. A JSON Web Key Set (JWKS) provides a set of keys containing the public keys used to verify any JSON Web Token (JWT) issued by your OAuth 2.0 identity provider. + JwksUri pulumi.StringPtrInput +} + +func (IdentityProviderState) ElementType() reflect.Type { + return reflect.TypeOf((*identityProviderState)(nil)).Elem() +} + +type identityProviderArgs struct { + // A description for the Identity Provider. + Description string `pulumi:"description"` + // A human-readable name for the Identity Provider. + DisplayName string `pulumi:"displayName"` + // A publicly reachable issuer URI for the Identity Provider. The unique issuer URI string represents the entity for issuing tokens. + Issuer string `pulumi:"issuer"` + // A publicly reachable JSON Web Key Set (JWKS) URI for the Identity Provider. A JSON Web Key Set (JWKS) provides a set of keys containing the public keys used to verify any JSON Web Token (JWT) issued by your OAuth 2.0 identity provider. + JwksUri string `pulumi:"jwksUri"` +} + +// The set of arguments for constructing a IdentityProvider resource. +type IdentityProviderArgs struct { + // A description for the Identity Provider. + Description pulumi.StringInput + // A human-readable name for the Identity Provider. + DisplayName pulumi.StringInput + // A publicly reachable issuer URI for the Identity Provider. The unique issuer URI string represents the entity for issuing tokens. + Issuer pulumi.StringInput + // A publicly reachable JSON Web Key Set (JWKS) URI for the Identity Provider. A JSON Web Key Set (JWKS) provides a set of keys containing the public keys used to verify any JSON Web Token (JWT) issued by your OAuth 2.0 identity provider. + JwksUri pulumi.StringInput +} + +func (IdentityProviderArgs) ElementType() reflect.Type { + return reflect.TypeOf((*identityProviderArgs)(nil)).Elem() +} + +type IdentityProviderInput interface { + pulumi.Input + + ToIdentityProviderOutput() IdentityProviderOutput + ToIdentityProviderOutputWithContext(ctx context.Context) IdentityProviderOutput +} + +func (*IdentityProvider) ElementType() reflect.Type { + return reflect.TypeOf((**IdentityProvider)(nil)).Elem() +} + +func (i *IdentityProvider) ToIdentityProviderOutput() IdentityProviderOutput { + return i.ToIdentityProviderOutputWithContext(context.Background()) +} + +func (i *IdentityProvider) ToIdentityProviderOutputWithContext(ctx context.Context) IdentityProviderOutput { + return pulumi.ToOutputWithContext(ctx, i).(IdentityProviderOutput) +} + +// IdentityProviderArrayInput is an input type that accepts IdentityProviderArray and IdentityProviderArrayOutput values. +// You can construct a concrete instance of `IdentityProviderArrayInput` via: +// +// IdentityProviderArray{ IdentityProviderArgs{...} } +type IdentityProviderArrayInput interface { + pulumi.Input + + ToIdentityProviderArrayOutput() IdentityProviderArrayOutput + ToIdentityProviderArrayOutputWithContext(context.Context) IdentityProviderArrayOutput +} + +type IdentityProviderArray []IdentityProviderInput + +func (IdentityProviderArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*IdentityProvider)(nil)).Elem() +} + +func (i IdentityProviderArray) ToIdentityProviderArrayOutput() IdentityProviderArrayOutput { + return i.ToIdentityProviderArrayOutputWithContext(context.Background()) +} + +func (i IdentityProviderArray) ToIdentityProviderArrayOutputWithContext(ctx context.Context) IdentityProviderArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IdentityProviderArrayOutput) +} + +// IdentityProviderMapInput is an input type that accepts IdentityProviderMap and IdentityProviderMapOutput values. +// You can construct a concrete instance of `IdentityProviderMapInput` via: +// +// IdentityProviderMap{ "key": IdentityProviderArgs{...} } +type IdentityProviderMapInput interface { + pulumi.Input + + ToIdentityProviderMapOutput() IdentityProviderMapOutput + ToIdentityProviderMapOutputWithContext(context.Context) IdentityProviderMapOutput +} + +type IdentityProviderMap map[string]IdentityProviderInput + +func (IdentityProviderMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*IdentityProvider)(nil)).Elem() +} + +func (i IdentityProviderMap) ToIdentityProviderMapOutput() IdentityProviderMapOutput { + return i.ToIdentityProviderMapOutputWithContext(context.Background()) +} + +func (i IdentityProviderMap) ToIdentityProviderMapOutputWithContext(ctx context.Context) IdentityProviderMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(IdentityProviderMapOutput) +} + +type IdentityProviderOutput struct{ *pulumi.OutputState } + +func (IdentityProviderOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IdentityProvider)(nil)).Elem() +} + +func (o IdentityProviderOutput) ToIdentityProviderOutput() IdentityProviderOutput { + return o +} + +func (o IdentityProviderOutput) ToIdentityProviderOutputWithContext(ctx context.Context) IdentityProviderOutput { + return o +} + +// A description for the Identity Provider. +func (o IdentityProviderOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v *IdentityProvider) pulumi.StringOutput { return v.Description }).(pulumi.StringOutput) +} + +// A human-readable name for the Identity Provider. +func (o IdentityProviderOutput) DisplayName() pulumi.StringOutput { + return o.ApplyT(func(v *IdentityProvider) pulumi.StringOutput { return v.DisplayName }).(pulumi.StringOutput) +} + +// A publicly reachable issuer URI for the Identity Provider. The unique issuer URI string represents the entity for issuing tokens. +func (o IdentityProviderOutput) Issuer() pulumi.StringOutput { + return o.ApplyT(func(v *IdentityProvider) pulumi.StringOutput { return v.Issuer }).(pulumi.StringOutput) +} + +// A publicly reachable JSON Web Key Set (JWKS) URI for the Identity Provider. A JSON Web Key Set (JWKS) provides a set of keys containing the public keys used to verify any JSON Web Token (JWT) issued by your OAuth 2.0 identity provider. +func (o IdentityProviderOutput) JwksUri() pulumi.StringOutput { + return o.ApplyT(func(v *IdentityProvider) pulumi.StringOutput { return v.JwksUri }).(pulumi.StringOutput) +} + +type IdentityProviderArrayOutput struct{ *pulumi.OutputState } + +func (IdentityProviderArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*IdentityProvider)(nil)).Elem() +} + +func (o IdentityProviderArrayOutput) ToIdentityProviderArrayOutput() IdentityProviderArrayOutput { + return o +} + +func (o IdentityProviderArrayOutput) ToIdentityProviderArrayOutputWithContext(ctx context.Context) IdentityProviderArrayOutput { + return o +} + +func (o IdentityProviderArrayOutput) Index(i pulumi.IntInput) IdentityProviderOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *IdentityProvider { + return vs[0].([]*IdentityProvider)[vs[1].(int)] + }).(IdentityProviderOutput) +} + +type IdentityProviderMapOutput struct{ *pulumi.OutputState } + +func (IdentityProviderMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*IdentityProvider)(nil)).Elem() +} + +func (o IdentityProviderMapOutput) ToIdentityProviderMapOutput() IdentityProviderMapOutput { + return o +} + +func (o IdentityProviderMapOutput) ToIdentityProviderMapOutputWithContext(ctx context.Context) IdentityProviderMapOutput { + return o +} + +func (o IdentityProviderMapOutput) MapIndex(k pulumi.StringInput) IdentityProviderOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *IdentityProvider { + return vs[0].(map[string]*IdentityProvider)[vs[1].(string)] + }).(IdentityProviderOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IdentityProviderInput)(nil)).Elem(), &IdentityProvider{}) + pulumi.RegisterInputType(reflect.TypeOf((*IdentityProviderArrayInput)(nil)).Elem(), IdentityProviderArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IdentityProviderMapInput)(nil)).Elem(), IdentityProviderMap{}) + pulumi.RegisterOutputType(IdentityProviderOutput{}) + pulumi.RegisterOutputType(IdentityProviderArrayOutput{}) + pulumi.RegisterOutputType(IdentityProviderMapOutput{}) +} diff --git a/sdk/go/confluentcloud/init.go b/sdk/go/confluentcloud/init.go index d71c247c..75afaedf 100644 --- a/sdk/go/confluentcloud/init.go +++ b/sdk/go/confluentcloud/init.go @@ -26,12 +26,18 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &Connector{} case "confluentcloud:index/environment:Environment": r = &Environment{} + case "confluentcloud:index/identityPool:IdentityPool": + r = &IdentityPool{} + case "confluentcloud:index/identityProvider:IdentityProvider": + r = &IdentityProvider{} case "confluentcloud:index/kafkaAcl:KafkaAcl": r = &KafkaAcl{} case "confluentcloud:index/kafkaCluster:KafkaCluster": r = &KafkaCluster{} case "confluentcloud:index/kafkaTopic:KafkaTopic": r = &KafkaTopic{} + case "confluentcloud:index/ksqlCluster:KsqlCluster": + r = &KsqlCluster{} case "confluentcloud:index/network:Network": r = &Network{} case "confluentcloud:index/peering:Peering": @@ -85,6 +91,16 @@ func init() { "index/environment", &module{version}, ) + pulumi.RegisterResourceModule( + "confluentcloud", + "index/identityPool", + &module{version}, + ) + pulumi.RegisterResourceModule( + "confluentcloud", + "index/identityProvider", + &module{version}, + ) pulumi.RegisterResourceModule( "confluentcloud", "index/kafkaAcl", @@ -100,6 +116,11 @@ func init() { "index/kafkaTopic", &module{version}, ) + pulumi.RegisterResourceModule( + "confluentcloud", + "index/ksqlCluster", + &module{version}, + ) pulumi.RegisterResourceModule( "confluentcloud", "index/network", diff --git a/sdk/go/confluentcloud/ksqlCluster.go b/sdk/go/confluentcloud/ksqlCluster.go new file mode 100644 index 00000000..2e32ea57 --- /dev/null +++ b/sdk/go/confluentcloud/ksqlCluster.go @@ -0,0 +1,359 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package confluentcloud + +import ( + "context" + "reflect" + + "github.com/pkg/errors" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// ## Import +// +// You can import a ksqlDB cluster by using Environment ID and ksqlDB cluster ID, in the format `/`, for example$ export CONFLUENT_CLOUD_API_KEY="" $ export CONFLUENT_CLOUD_API_SECRET="" +// +// ```sh +// +// $ pulumi import confluentcloud:index/ksqlCluster:KsqlCluster example env-abc123/lksqlc-abc123 +// +// ``` +// +// !> **Warning:** +// +// Do not forget to delete the terminal's command history afterward for security purposes. +type KsqlCluster struct { + pulumi.CustomResourceState + + // (Required String) An API Version of the schema version of the ksqlDB cluster, for example, `ksqldbcm/v2`. + ApiVersion pulumi.StringOutput `pulumi:"apiVersion"` + CredentialIdentity KsqlClusterCredentialIdentityOutput `pulumi:"credentialIdentity"` + // The number of Confluent Streaming Units (CSUs) for the ksqlDB cluster. + Csu pulumi.IntOutput `pulumi:"csu"` + // The name of the ksqlDB cluster. + DisplayName pulumi.StringOutput `pulumi:"displayName"` + // Environment objects represent an isolated namespace for your Confluent resources for organizational purposes. + Environment KsqlClusterEnvironmentOutput `pulumi:"environment"` + // (Required String) The API endpoint of the ksqlDB cluster, for example, `https://pksqlc-00000.us-central1.gcp.glb.confluent.cloud`. + HttpEndpoint pulumi.StringOutput `pulumi:"httpEndpoint"` + KafkaCluster KsqlClusterKafkaClusterOutput `pulumi:"kafkaCluster"` + // (Required String) A kind of the ksqlDB cluster, for example, `Cluster`. + Kind pulumi.StringOutput `pulumi:"kind"` + // (Required Integer) The amount of storage (in GB) provisioned to the ksqlDB cluster. + Storage pulumi.IntOutput `pulumi:"storage"` + // (Required String) Topic name prefix used by this ksqlDB cluster. Used to assign ACLs for this ksqlDB cluster to use, for example, `pksqlc-00000`. + TopicPrefix pulumi.StringOutput `pulumi:"topicPrefix"` + // Controls whether the row data should be included in the processing log topic. Set it to `false` if you don't want to emit sensitive information to the processing log. Defaults to `true`. + UseDetailedProcessingLog pulumi.BoolPtrOutput `pulumi:"useDetailedProcessingLog"` +} + +// NewKsqlCluster registers a new resource with the given unique name, arguments, and options. +func NewKsqlCluster(ctx *pulumi.Context, + name string, args *KsqlClusterArgs, opts ...pulumi.ResourceOption) (*KsqlCluster, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.CredentialIdentity == nil { + return nil, errors.New("invalid value for required argument 'CredentialIdentity'") + } + if args.Csu == nil { + return nil, errors.New("invalid value for required argument 'Csu'") + } + if args.DisplayName == nil { + return nil, errors.New("invalid value for required argument 'DisplayName'") + } + if args.Environment == nil { + return nil, errors.New("invalid value for required argument 'Environment'") + } + if args.KafkaCluster == nil { + return nil, errors.New("invalid value for required argument 'KafkaCluster'") + } + var resource KsqlCluster + err := ctx.RegisterResource("confluentcloud:index/ksqlCluster:KsqlCluster", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetKsqlCluster gets an existing KsqlCluster resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetKsqlCluster(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *KsqlClusterState, opts ...pulumi.ResourceOption) (*KsqlCluster, error) { + var resource KsqlCluster + err := ctx.ReadResource("confluentcloud:index/ksqlCluster:KsqlCluster", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering KsqlCluster resources. +type ksqlClusterState struct { + // (Required String) An API Version of the schema version of the ksqlDB cluster, for example, `ksqldbcm/v2`. + ApiVersion *string `pulumi:"apiVersion"` + CredentialIdentity *KsqlClusterCredentialIdentity `pulumi:"credentialIdentity"` + // The number of Confluent Streaming Units (CSUs) for the ksqlDB cluster. + Csu *int `pulumi:"csu"` + // The name of the ksqlDB cluster. + DisplayName *string `pulumi:"displayName"` + // Environment objects represent an isolated namespace for your Confluent resources for organizational purposes. + Environment *KsqlClusterEnvironment `pulumi:"environment"` + // (Required String) The API endpoint of the ksqlDB cluster, for example, `https://pksqlc-00000.us-central1.gcp.glb.confluent.cloud`. + HttpEndpoint *string `pulumi:"httpEndpoint"` + KafkaCluster *KsqlClusterKafkaCluster `pulumi:"kafkaCluster"` + // (Required String) A kind of the ksqlDB cluster, for example, `Cluster`. + Kind *string `pulumi:"kind"` + // (Required Integer) The amount of storage (in GB) provisioned to the ksqlDB cluster. + Storage *int `pulumi:"storage"` + // (Required String) Topic name prefix used by this ksqlDB cluster. Used to assign ACLs for this ksqlDB cluster to use, for example, `pksqlc-00000`. + TopicPrefix *string `pulumi:"topicPrefix"` + // Controls whether the row data should be included in the processing log topic. Set it to `false` if you don't want to emit sensitive information to the processing log. Defaults to `true`. + UseDetailedProcessingLog *bool `pulumi:"useDetailedProcessingLog"` +} + +type KsqlClusterState struct { + // (Required String) An API Version of the schema version of the ksqlDB cluster, for example, `ksqldbcm/v2`. + ApiVersion pulumi.StringPtrInput + CredentialIdentity KsqlClusterCredentialIdentityPtrInput + // The number of Confluent Streaming Units (CSUs) for the ksqlDB cluster. + Csu pulumi.IntPtrInput + // The name of the ksqlDB cluster. + DisplayName pulumi.StringPtrInput + // Environment objects represent an isolated namespace for your Confluent resources for organizational purposes. + Environment KsqlClusterEnvironmentPtrInput + // (Required String) The API endpoint of the ksqlDB cluster, for example, `https://pksqlc-00000.us-central1.gcp.glb.confluent.cloud`. + HttpEndpoint pulumi.StringPtrInput + KafkaCluster KsqlClusterKafkaClusterPtrInput + // (Required String) A kind of the ksqlDB cluster, for example, `Cluster`. + Kind pulumi.StringPtrInput + // (Required Integer) The amount of storage (in GB) provisioned to the ksqlDB cluster. + Storage pulumi.IntPtrInput + // (Required String) Topic name prefix used by this ksqlDB cluster. Used to assign ACLs for this ksqlDB cluster to use, for example, `pksqlc-00000`. + TopicPrefix pulumi.StringPtrInput + // Controls whether the row data should be included in the processing log topic. Set it to `false` if you don't want to emit sensitive information to the processing log. Defaults to `true`. + UseDetailedProcessingLog pulumi.BoolPtrInput +} + +func (KsqlClusterState) ElementType() reflect.Type { + return reflect.TypeOf((*ksqlClusterState)(nil)).Elem() +} + +type ksqlClusterArgs struct { + CredentialIdentity KsqlClusterCredentialIdentity `pulumi:"credentialIdentity"` + // The number of Confluent Streaming Units (CSUs) for the ksqlDB cluster. + Csu int `pulumi:"csu"` + // The name of the ksqlDB cluster. + DisplayName string `pulumi:"displayName"` + // Environment objects represent an isolated namespace for your Confluent resources for organizational purposes. + Environment KsqlClusterEnvironment `pulumi:"environment"` + KafkaCluster KsqlClusterKafkaCluster `pulumi:"kafkaCluster"` + // Controls whether the row data should be included in the processing log topic. Set it to `false` if you don't want to emit sensitive information to the processing log. Defaults to `true`. + UseDetailedProcessingLog *bool `pulumi:"useDetailedProcessingLog"` +} + +// The set of arguments for constructing a KsqlCluster resource. +type KsqlClusterArgs struct { + CredentialIdentity KsqlClusterCredentialIdentityInput + // The number of Confluent Streaming Units (CSUs) for the ksqlDB cluster. + Csu pulumi.IntInput + // The name of the ksqlDB cluster. + DisplayName pulumi.StringInput + // Environment objects represent an isolated namespace for your Confluent resources for organizational purposes. + Environment KsqlClusterEnvironmentInput + KafkaCluster KsqlClusterKafkaClusterInput + // Controls whether the row data should be included in the processing log topic. Set it to `false` if you don't want to emit sensitive information to the processing log. Defaults to `true`. + UseDetailedProcessingLog pulumi.BoolPtrInput +} + +func (KsqlClusterArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ksqlClusterArgs)(nil)).Elem() +} + +type KsqlClusterInput interface { + pulumi.Input + + ToKsqlClusterOutput() KsqlClusterOutput + ToKsqlClusterOutputWithContext(ctx context.Context) KsqlClusterOutput +} + +func (*KsqlCluster) ElementType() reflect.Type { + return reflect.TypeOf((**KsqlCluster)(nil)).Elem() +} + +func (i *KsqlCluster) ToKsqlClusterOutput() KsqlClusterOutput { + return i.ToKsqlClusterOutputWithContext(context.Background()) +} + +func (i *KsqlCluster) ToKsqlClusterOutputWithContext(ctx context.Context) KsqlClusterOutput { + return pulumi.ToOutputWithContext(ctx, i).(KsqlClusterOutput) +} + +// KsqlClusterArrayInput is an input type that accepts KsqlClusterArray and KsqlClusterArrayOutput values. +// You can construct a concrete instance of `KsqlClusterArrayInput` via: +// +// KsqlClusterArray{ KsqlClusterArgs{...} } +type KsqlClusterArrayInput interface { + pulumi.Input + + ToKsqlClusterArrayOutput() KsqlClusterArrayOutput + ToKsqlClusterArrayOutputWithContext(context.Context) KsqlClusterArrayOutput +} + +type KsqlClusterArray []KsqlClusterInput + +func (KsqlClusterArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*KsqlCluster)(nil)).Elem() +} + +func (i KsqlClusterArray) ToKsqlClusterArrayOutput() KsqlClusterArrayOutput { + return i.ToKsqlClusterArrayOutputWithContext(context.Background()) +} + +func (i KsqlClusterArray) ToKsqlClusterArrayOutputWithContext(ctx context.Context) KsqlClusterArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(KsqlClusterArrayOutput) +} + +// KsqlClusterMapInput is an input type that accepts KsqlClusterMap and KsqlClusterMapOutput values. +// You can construct a concrete instance of `KsqlClusterMapInput` via: +// +// KsqlClusterMap{ "key": KsqlClusterArgs{...} } +type KsqlClusterMapInput interface { + pulumi.Input + + ToKsqlClusterMapOutput() KsqlClusterMapOutput + ToKsqlClusterMapOutputWithContext(context.Context) KsqlClusterMapOutput +} + +type KsqlClusterMap map[string]KsqlClusterInput + +func (KsqlClusterMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*KsqlCluster)(nil)).Elem() +} + +func (i KsqlClusterMap) ToKsqlClusterMapOutput() KsqlClusterMapOutput { + return i.ToKsqlClusterMapOutputWithContext(context.Background()) +} + +func (i KsqlClusterMap) ToKsqlClusterMapOutputWithContext(ctx context.Context) KsqlClusterMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(KsqlClusterMapOutput) +} + +type KsqlClusterOutput struct{ *pulumi.OutputState } + +func (KsqlClusterOutput) ElementType() reflect.Type { + return reflect.TypeOf((**KsqlCluster)(nil)).Elem() +} + +func (o KsqlClusterOutput) ToKsqlClusterOutput() KsqlClusterOutput { + return o +} + +func (o KsqlClusterOutput) ToKsqlClusterOutputWithContext(ctx context.Context) KsqlClusterOutput { + return o +} + +// (Required String) An API Version of the schema version of the ksqlDB cluster, for example, `ksqldbcm/v2`. +func (o KsqlClusterOutput) ApiVersion() pulumi.StringOutput { + return o.ApplyT(func(v *KsqlCluster) pulumi.StringOutput { return v.ApiVersion }).(pulumi.StringOutput) +} + +func (o KsqlClusterOutput) CredentialIdentity() KsqlClusterCredentialIdentityOutput { + return o.ApplyT(func(v *KsqlCluster) KsqlClusterCredentialIdentityOutput { return v.CredentialIdentity }).(KsqlClusterCredentialIdentityOutput) +} + +// The number of Confluent Streaming Units (CSUs) for the ksqlDB cluster. +func (o KsqlClusterOutput) Csu() pulumi.IntOutput { + return o.ApplyT(func(v *KsqlCluster) pulumi.IntOutput { return v.Csu }).(pulumi.IntOutput) +} + +// The name of the ksqlDB cluster. +func (o KsqlClusterOutput) DisplayName() pulumi.StringOutput { + return o.ApplyT(func(v *KsqlCluster) pulumi.StringOutput { return v.DisplayName }).(pulumi.StringOutput) +} + +// Environment objects represent an isolated namespace for your Confluent resources for organizational purposes. +func (o KsqlClusterOutput) Environment() KsqlClusterEnvironmentOutput { + return o.ApplyT(func(v *KsqlCluster) KsqlClusterEnvironmentOutput { return v.Environment }).(KsqlClusterEnvironmentOutput) +} + +// (Required String) The API endpoint of the ksqlDB cluster, for example, `https://pksqlc-00000.us-central1.gcp.glb.confluent.cloud`. +func (o KsqlClusterOutput) HttpEndpoint() pulumi.StringOutput { + return o.ApplyT(func(v *KsqlCluster) pulumi.StringOutput { return v.HttpEndpoint }).(pulumi.StringOutput) +} + +func (o KsqlClusterOutput) KafkaCluster() KsqlClusterKafkaClusterOutput { + return o.ApplyT(func(v *KsqlCluster) KsqlClusterKafkaClusterOutput { return v.KafkaCluster }).(KsqlClusterKafkaClusterOutput) +} + +// (Required String) A kind of the ksqlDB cluster, for example, `Cluster`. +func (o KsqlClusterOutput) Kind() pulumi.StringOutput { + return o.ApplyT(func(v *KsqlCluster) pulumi.StringOutput { return v.Kind }).(pulumi.StringOutput) +} + +// (Required Integer) The amount of storage (in GB) provisioned to the ksqlDB cluster. +func (o KsqlClusterOutput) Storage() pulumi.IntOutput { + return o.ApplyT(func(v *KsqlCluster) pulumi.IntOutput { return v.Storage }).(pulumi.IntOutput) +} + +// (Required String) Topic name prefix used by this ksqlDB cluster. Used to assign ACLs for this ksqlDB cluster to use, for example, `pksqlc-00000`. +func (o KsqlClusterOutput) TopicPrefix() pulumi.StringOutput { + return o.ApplyT(func(v *KsqlCluster) pulumi.StringOutput { return v.TopicPrefix }).(pulumi.StringOutput) +} + +// Controls whether the row data should be included in the processing log topic. Set it to `false` if you don't want to emit sensitive information to the processing log. Defaults to `true`. +func (o KsqlClusterOutput) UseDetailedProcessingLog() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *KsqlCluster) pulumi.BoolPtrOutput { return v.UseDetailedProcessingLog }).(pulumi.BoolPtrOutput) +} + +type KsqlClusterArrayOutput struct{ *pulumi.OutputState } + +func (KsqlClusterArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*KsqlCluster)(nil)).Elem() +} + +func (o KsqlClusterArrayOutput) ToKsqlClusterArrayOutput() KsqlClusterArrayOutput { + return o +} + +func (o KsqlClusterArrayOutput) ToKsqlClusterArrayOutputWithContext(ctx context.Context) KsqlClusterArrayOutput { + return o +} + +func (o KsqlClusterArrayOutput) Index(i pulumi.IntInput) KsqlClusterOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *KsqlCluster { + return vs[0].([]*KsqlCluster)[vs[1].(int)] + }).(KsqlClusterOutput) +} + +type KsqlClusterMapOutput struct{ *pulumi.OutputState } + +func (KsqlClusterMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*KsqlCluster)(nil)).Elem() +} + +func (o KsqlClusterMapOutput) ToKsqlClusterMapOutput() KsqlClusterMapOutput { + return o +} + +func (o KsqlClusterMapOutput) ToKsqlClusterMapOutputWithContext(ctx context.Context) KsqlClusterMapOutput { + return o +} + +func (o KsqlClusterMapOutput) MapIndex(k pulumi.StringInput) KsqlClusterOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *KsqlCluster { + return vs[0].(map[string]*KsqlCluster)[vs[1].(string)] + }).(KsqlClusterOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*KsqlClusterInput)(nil)).Elem(), &KsqlCluster{}) + pulumi.RegisterInputType(reflect.TypeOf((*KsqlClusterArrayInput)(nil)).Elem(), KsqlClusterArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*KsqlClusterMapInput)(nil)).Elem(), KsqlClusterMap{}) + pulumi.RegisterOutputType(KsqlClusterOutput{}) + pulumi.RegisterOutputType(KsqlClusterArrayOutput{}) + pulumi.RegisterOutputType(KsqlClusterMapOutput{}) +} diff --git a/sdk/go/confluentcloud/privateLinkAccess.go b/sdk/go/confluentcloud/privateLinkAccess.go index 22767867..2caf577c 100644 --- a/sdk/go/confluentcloud/privateLinkAccess.go +++ b/sdk/go/confluentcloud/privateLinkAccess.go @@ -31,6 +31,7 @@ type PrivateLinkAccess struct { DisplayName pulumi.StringOutput `pulumi:"displayName"` // Environment objects represent an isolated namespace for your Confluent resources for organizational purposes. Environment PrivateLinkAccessEnvironmentOutput `pulumi:"environment"` + Gcp PrivateLinkAccessGcpPtrOutput `pulumi:"gcp"` // Network represents a network (VPC) in Confluent Cloud. All Networks exist within Confluent-managed cloud provider // accounts. Network PrivateLinkAccessNetworkOutput `pulumi:"network"` @@ -77,6 +78,7 @@ type privateLinkAccessState struct { DisplayName *string `pulumi:"displayName"` // Environment objects represent an isolated namespace for your Confluent resources for organizational purposes. Environment *PrivateLinkAccessEnvironment `pulumi:"environment"` + Gcp *PrivateLinkAccessGcp `pulumi:"gcp"` // Network represents a network (VPC) in Confluent Cloud. All Networks exist within Confluent-managed cloud provider // accounts. Network *PrivateLinkAccessNetwork `pulumi:"network"` @@ -89,6 +91,7 @@ type PrivateLinkAccessState struct { DisplayName pulumi.StringPtrInput // Environment objects represent an isolated namespace for your Confluent resources for organizational purposes. Environment PrivateLinkAccessEnvironmentPtrInput + Gcp PrivateLinkAccessGcpPtrInput // Network represents a network (VPC) in Confluent Cloud. All Networks exist within Confluent-managed cloud provider // accounts. Network PrivateLinkAccessNetworkPtrInput @@ -105,6 +108,7 @@ type privateLinkAccessArgs struct { DisplayName *string `pulumi:"displayName"` // Environment objects represent an isolated namespace for your Confluent resources for organizational purposes. Environment PrivateLinkAccessEnvironment `pulumi:"environment"` + Gcp *PrivateLinkAccessGcp `pulumi:"gcp"` // Network represents a network (VPC) in Confluent Cloud. All Networks exist within Confluent-managed cloud provider // accounts. Network PrivateLinkAccessNetwork `pulumi:"network"` @@ -118,6 +122,7 @@ type PrivateLinkAccessArgs struct { DisplayName pulumi.StringPtrInput // Environment objects represent an isolated namespace for your Confluent resources for organizational purposes. Environment PrivateLinkAccessEnvironmentInput + Gcp PrivateLinkAccessGcpPtrInput // Network represents a network (VPC) in Confluent Cloud. All Networks exist within Confluent-managed cloud provider // accounts. Network PrivateLinkAccessNetworkInput @@ -228,6 +233,10 @@ func (o PrivateLinkAccessOutput) Environment() PrivateLinkAccessEnvironmentOutpu return o.ApplyT(func(v *PrivateLinkAccess) PrivateLinkAccessEnvironmentOutput { return v.Environment }).(PrivateLinkAccessEnvironmentOutput) } +func (o PrivateLinkAccessOutput) Gcp() PrivateLinkAccessGcpPtrOutput { + return o.ApplyT(func(v *PrivateLinkAccess) PrivateLinkAccessGcpPtrOutput { return v.Gcp }).(PrivateLinkAccessGcpPtrOutput) +} + // Network represents a network (VPC) in Confluent Cloud. All Networks exist within Confluent-managed cloud provider // accounts. func (o PrivateLinkAccessOutput) Network() PrivateLinkAccessNetworkOutput { diff --git a/sdk/go/confluentcloud/pulumiTypes.go b/sdk/go/confluentcloud/pulumiTypes.go index 2bf20b68..b5dde431 100644 --- a/sdk/go/confluentcloud/pulumiTypes.go +++ b/sdk/go/confluentcloud/pulumiTypes.go @@ -786,6 +786,143 @@ func (o ConnectorKafkaClusterPtrOutput) Id() pulumi.StringPtrOutput { }).(pulumi.StringPtrOutput) } +type IdentityPoolIdentityProvider struct { + // The ID of the Identity Provider associated with the Identity Pool, for example, `op-abc123`. + Id string `pulumi:"id"` +} + +// IdentityPoolIdentityProviderInput is an input type that accepts IdentityPoolIdentityProviderArgs and IdentityPoolIdentityProviderOutput values. +// You can construct a concrete instance of `IdentityPoolIdentityProviderInput` via: +// +// IdentityPoolIdentityProviderArgs{...} +type IdentityPoolIdentityProviderInput interface { + pulumi.Input + + ToIdentityPoolIdentityProviderOutput() IdentityPoolIdentityProviderOutput + ToIdentityPoolIdentityProviderOutputWithContext(context.Context) IdentityPoolIdentityProviderOutput +} + +type IdentityPoolIdentityProviderArgs struct { + // The ID of the Identity Provider associated with the Identity Pool, for example, `op-abc123`. + Id pulumi.StringInput `pulumi:"id"` +} + +func (IdentityPoolIdentityProviderArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IdentityPoolIdentityProvider)(nil)).Elem() +} + +func (i IdentityPoolIdentityProviderArgs) ToIdentityPoolIdentityProviderOutput() IdentityPoolIdentityProviderOutput { + return i.ToIdentityPoolIdentityProviderOutputWithContext(context.Background()) +} + +func (i IdentityPoolIdentityProviderArgs) ToIdentityPoolIdentityProviderOutputWithContext(ctx context.Context) IdentityPoolIdentityProviderOutput { + return pulumi.ToOutputWithContext(ctx, i).(IdentityPoolIdentityProviderOutput) +} + +func (i IdentityPoolIdentityProviderArgs) ToIdentityPoolIdentityProviderPtrOutput() IdentityPoolIdentityProviderPtrOutput { + return i.ToIdentityPoolIdentityProviderPtrOutputWithContext(context.Background()) +} + +func (i IdentityPoolIdentityProviderArgs) ToIdentityPoolIdentityProviderPtrOutputWithContext(ctx context.Context) IdentityPoolIdentityProviderPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IdentityPoolIdentityProviderOutput).ToIdentityPoolIdentityProviderPtrOutputWithContext(ctx) +} + +// IdentityPoolIdentityProviderPtrInput is an input type that accepts IdentityPoolIdentityProviderArgs, IdentityPoolIdentityProviderPtr and IdentityPoolIdentityProviderPtrOutput values. +// You can construct a concrete instance of `IdentityPoolIdentityProviderPtrInput` via: +// +// IdentityPoolIdentityProviderArgs{...} +// +// or: +// +// nil +type IdentityPoolIdentityProviderPtrInput interface { + pulumi.Input + + ToIdentityPoolIdentityProviderPtrOutput() IdentityPoolIdentityProviderPtrOutput + ToIdentityPoolIdentityProviderPtrOutputWithContext(context.Context) IdentityPoolIdentityProviderPtrOutput +} + +type identityPoolIdentityProviderPtrType IdentityPoolIdentityProviderArgs + +func IdentityPoolIdentityProviderPtr(v *IdentityPoolIdentityProviderArgs) IdentityPoolIdentityProviderPtrInput { + return (*identityPoolIdentityProviderPtrType)(v) +} + +func (*identityPoolIdentityProviderPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IdentityPoolIdentityProvider)(nil)).Elem() +} + +func (i *identityPoolIdentityProviderPtrType) ToIdentityPoolIdentityProviderPtrOutput() IdentityPoolIdentityProviderPtrOutput { + return i.ToIdentityPoolIdentityProviderPtrOutputWithContext(context.Background()) +} + +func (i *identityPoolIdentityProviderPtrType) ToIdentityPoolIdentityProviderPtrOutputWithContext(ctx context.Context) IdentityPoolIdentityProviderPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IdentityPoolIdentityProviderPtrOutput) +} + +type IdentityPoolIdentityProviderOutput struct{ *pulumi.OutputState } + +func (IdentityPoolIdentityProviderOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IdentityPoolIdentityProvider)(nil)).Elem() +} + +func (o IdentityPoolIdentityProviderOutput) ToIdentityPoolIdentityProviderOutput() IdentityPoolIdentityProviderOutput { + return o +} + +func (o IdentityPoolIdentityProviderOutput) ToIdentityPoolIdentityProviderOutputWithContext(ctx context.Context) IdentityPoolIdentityProviderOutput { + return o +} + +func (o IdentityPoolIdentityProviderOutput) ToIdentityPoolIdentityProviderPtrOutput() IdentityPoolIdentityProviderPtrOutput { + return o.ToIdentityPoolIdentityProviderPtrOutputWithContext(context.Background()) +} + +func (o IdentityPoolIdentityProviderOutput) ToIdentityPoolIdentityProviderPtrOutputWithContext(ctx context.Context) IdentityPoolIdentityProviderPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IdentityPoolIdentityProvider) *IdentityPoolIdentityProvider { + return &v + }).(IdentityPoolIdentityProviderPtrOutput) +} + +// The ID of the Identity Provider associated with the Identity Pool, for example, `op-abc123`. +func (o IdentityPoolIdentityProviderOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v IdentityPoolIdentityProvider) string { return v.Id }).(pulumi.StringOutput) +} + +type IdentityPoolIdentityProviderPtrOutput struct{ *pulumi.OutputState } + +func (IdentityPoolIdentityProviderPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IdentityPoolIdentityProvider)(nil)).Elem() +} + +func (o IdentityPoolIdentityProviderPtrOutput) ToIdentityPoolIdentityProviderPtrOutput() IdentityPoolIdentityProviderPtrOutput { + return o +} + +func (o IdentityPoolIdentityProviderPtrOutput) ToIdentityPoolIdentityProviderPtrOutputWithContext(ctx context.Context) IdentityPoolIdentityProviderPtrOutput { + return o +} + +func (o IdentityPoolIdentityProviderPtrOutput) Elem() IdentityPoolIdentityProviderOutput { + return o.ApplyT(func(v *IdentityPoolIdentityProvider) IdentityPoolIdentityProvider { + if v != nil { + return *v + } + var ret IdentityPoolIdentityProvider + return ret + }).(IdentityPoolIdentityProviderOutput) +} + +// The ID of the Identity Provider associated with the Identity Pool, for example, `op-abc123`. +func (o IdentityPoolIdentityProviderPtrOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IdentityPoolIdentityProvider) *string { + if v == nil { + return nil + } + return &v.Id + }).(pulumi.StringPtrOutput) +} + type KafkaAclCredentials struct { // The Kafka API Key. Key string `pulumi:"key"` @@ -1978,6 +2115,417 @@ func (o KafkaTopicKafkaClusterPtrOutput) Id() pulumi.StringPtrOutput { }).(pulumi.StringPtrOutput) } +type KsqlClusterCredentialIdentity struct { + // The ID of the associated service or user account, for example, `sa-abc123`. + Id string `pulumi:"id"` +} + +// KsqlClusterCredentialIdentityInput is an input type that accepts KsqlClusterCredentialIdentityArgs and KsqlClusterCredentialIdentityOutput values. +// You can construct a concrete instance of `KsqlClusterCredentialIdentityInput` via: +// +// KsqlClusterCredentialIdentityArgs{...} +type KsqlClusterCredentialIdentityInput interface { + pulumi.Input + + ToKsqlClusterCredentialIdentityOutput() KsqlClusterCredentialIdentityOutput + ToKsqlClusterCredentialIdentityOutputWithContext(context.Context) KsqlClusterCredentialIdentityOutput +} + +type KsqlClusterCredentialIdentityArgs struct { + // The ID of the associated service or user account, for example, `sa-abc123`. + Id pulumi.StringInput `pulumi:"id"` +} + +func (KsqlClusterCredentialIdentityArgs) ElementType() reflect.Type { + return reflect.TypeOf((*KsqlClusterCredentialIdentity)(nil)).Elem() +} + +func (i KsqlClusterCredentialIdentityArgs) ToKsqlClusterCredentialIdentityOutput() KsqlClusterCredentialIdentityOutput { + return i.ToKsqlClusterCredentialIdentityOutputWithContext(context.Background()) +} + +func (i KsqlClusterCredentialIdentityArgs) ToKsqlClusterCredentialIdentityOutputWithContext(ctx context.Context) KsqlClusterCredentialIdentityOutput { + return pulumi.ToOutputWithContext(ctx, i).(KsqlClusterCredentialIdentityOutput) +} + +func (i KsqlClusterCredentialIdentityArgs) ToKsqlClusterCredentialIdentityPtrOutput() KsqlClusterCredentialIdentityPtrOutput { + return i.ToKsqlClusterCredentialIdentityPtrOutputWithContext(context.Background()) +} + +func (i KsqlClusterCredentialIdentityArgs) ToKsqlClusterCredentialIdentityPtrOutputWithContext(ctx context.Context) KsqlClusterCredentialIdentityPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(KsqlClusterCredentialIdentityOutput).ToKsqlClusterCredentialIdentityPtrOutputWithContext(ctx) +} + +// KsqlClusterCredentialIdentityPtrInput is an input type that accepts KsqlClusterCredentialIdentityArgs, KsqlClusterCredentialIdentityPtr and KsqlClusterCredentialIdentityPtrOutput values. +// You can construct a concrete instance of `KsqlClusterCredentialIdentityPtrInput` via: +// +// KsqlClusterCredentialIdentityArgs{...} +// +// or: +// +// nil +type KsqlClusterCredentialIdentityPtrInput interface { + pulumi.Input + + ToKsqlClusterCredentialIdentityPtrOutput() KsqlClusterCredentialIdentityPtrOutput + ToKsqlClusterCredentialIdentityPtrOutputWithContext(context.Context) KsqlClusterCredentialIdentityPtrOutput +} + +type ksqlClusterCredentialIdentityPtrType KsqlClusterCredentialIdentityArgs + +func KsqlClusterCredentialIdentityPtr(v *KsqlClusterCredentialIdentityArgs) KsqlClusterCredentialIdentityPtrInput { + return (*ksqlClusterCredentialIdentityPtrType)(v) +} + +func (*ksqlClusterCredentialIdentityPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**KsqlClusterCredentialIdentity)(nil)).Elem() +} + +func (i *ksqlClusterCredentialIdentityPtrType) ToKsqlClusterCredentialIdentityPtrOutput() KsqlClusterCredentialIdentityPtrOutput { + return i.ToKsqlClusterCredentialIdentityPtrOutputWithContext(context.Background()) +} + +func (i *ksqlClusterCredentialIdentityPtrType) ToKsqlClusterCredentialIdentityPtrOutputWithContext(ctx context.Context) KsqlClusterCredentialIdentityPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(KsqlClusterCredentialIdentityPtrOutput) +} + +type KsqlClusterCredentialIdentityOutput struct{ *pulumi.OutputState } + +func (KsqlClusterCredentialIdentityOutput) ElementType() reflect.Type { + return reflect.TypeOf((*KsqlClusterCredentialIdentity)(nil)).Elem() +} + +func (o KsqlClusterCredentialIdentityOutput) ToKsqlClusterCredentialIdentityOutput() KsqlClusterCredentialIdentityOutput { + return o +} + +func (o KsqlClusterCredentialIdentityOutput) ToKsqlClusterCredentialIdentityOutputWithContext(ctx context.Context) KsqlClusterCredentialIdentityOutput { + return o +} + +func (o KsqlClusterCredentialIdentityOutput) ToKsqlClusterCredentialIdentityPtrOutput() KsqlClusterCredentialIdentityPtrOutput { + return o.ToKsqlClusterCredentialIdentityPtrOutputWithContext(context.Background()) +} + +func (o KsqlClusterCredentialIdentityOutput) ToKsqlClusterCredentialIdentityPtrOutputWithContext(ctx context.Context) KsqlClusterCredentialIdentityPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v KsqlClusterCredentialIdentity) *KsqlClusterCredentialIdentity { + return &v + }).(KsqlClusterCredentialIdentityPtrOutput) +} + +// The ID of the associated service or user account, for example, `sa-abc123`. +func (o KsqlClusterCredentialIdentityOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v KsqlClusterCredentialIdentity) string { return v.Id }).(pulumi.StringOutput) +} + +type KsqlClusterCredentialIdentityPtrOutput struct{ *pulumi.OutputState } + +func (KsqlClusterCredentialIdentityPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**KsqlClusterCredentialIdentity)(nil)).Elem() +} + +func (o KsqlClusterCredentialIdentityPtrOutput) ToKsqlClusterCredentialIdentityPtrOutput() KsqlClusterCredentialIdentityPtrOutput { + return o +} + +func (o KsqlClusterCredentialIdentityPtrOutput) ToKsqlClusterCredentialIdentityPtrOutputWithContext(ctx context.Context) KsqlClusterCredentialIdentityPtrOutput { + return o +} + +func (o KsqlClusterCredentialIdentityPtrOutput) Elem() KsqlClusterCredentialIdentityOutput { + return o.ApplyT(func(v *KsqlClusterCredentialIdentity) KsqlClusterCredentialIdentity { + if v != nil { + return *v + } + var ret KsqlClusterCredentialIdentity + return ret + }).(KsqlClusterCredentialIdentityOutput) +} + +// The ID of the associated service or user account, for example, `sa-abc123`. +func (o KsqlClusterCredentialIdentityPtrOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v *KsqlClusterCredentialIdentity) *string { + if v == nil { + return nil + } + return &v.Id + }).(pulumi.StringPtrOutput) +} + +type KsqlClusterEnvironment struct { + // The ID of the associated service or user account, for example, `sa-abc123`. + Id string `pulumi:"id"` +} + +// KsqlClusterEnvironmentInput is an input type that accepts KsqlClusterEnvironmentArgs and KsqlClusterEnvironmentOutput values. +// You can construct a concrete instance of `KsqlClusterEnvironmentInput` via: +// +// KsqlClusterEnvironmentArgs{...} +type KsqlClusterEnvironmentInput interface { + pulumi.Input + + ToKsqlClusterEnvironmentOutput() KsqlClusterEnvironmentOutput + ToKsqlClusterEnvironmentOutputWithContext(context.Context) KsqlClusterEnvironmentOutput +} + +type KsqlClusterEnvironmentArgs struct { + // The ID of the associated service or user account, for example, `sa-abc123`. + Id pulumi.StringInput `pulumi:"id"` +} + +func (KsqlClusterEnvironmentArgs) ElementType() reflect.Type { + return reflect.TypeOf((*KsqlClusterEnvironment)(nil)).Elem() +} + +func (i KsqlClusterEnvironmentArgs) ToKsqlClusterEnvironmentOutput() KsqlClusterEnvironmentOutput { + return i.ToKsqlClusterEnvironmentOutputWithContext(context.Background()) +} + +func (i KsqlClusterEnvironmentArgs) ToKsqlClusterEnvironmentOutputWithContext(ctx context.Context) KsqlClusterEnvironmentOutput { + return pulumi.ToOutputWithContext(ctx, i).(KsqlClusterEnvironmentOutput) +} + +func (i KsqlClusterEnvironmentArgs) ToKsqlClusterEnvironmentPtrOutput() KsqlClusterEnvironmentPtrOutput { + return i.ToKsqlClusterEnvironmentPtrOutputWithContext(context.Background()) +} + +func (i KsqlClusterEnvironmentArgs) ToKsqlClusterEnvironmentPtrOutputWithContext(ctx context.Context) KsqlClusterEnvironmentPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(KsqlClusterEnvironmentOutput).ToKsqlClusterEnvironmentPtrOutputWithContext(ctx) +} + +// KsqlClusterEnvironmentPtrInput is an input type that accepts KsqlClusterEnvironmentArgs, KsqlClusterEnvironmentPtr and KsqlClusterEnvironmentPtrOutput values. +// You can construct a concrete instance of `KsqlClusterEnvironmentPtrInput` via: +// +// KsqlClusterEnvironmentArgs{...} +// +// or: +// +// nil +type KsqlClusterEnvironmentPtrInput interface { + pulumi.Input + + ToKsqlClusterEnvironmentPtrOutput() KsqlClusterEnvironmentPtrOutput + ToKsqlClusterEnvironmentPtrOutputWithContext(context.Context) KsqlClusterEnvironmentPtrOutput +} + +type ksqlClusterEnvironmentPtrType KsqlClusterEnvironmentArgs + +func KsqlClusterEnvironmentPtr(v *KsqlClusterEnvironmentArgs) KsqlClusterEnvironmentPtrInput { + return (*ksqlClusterEnvironmentPtrType)(v) +} + +func (*ksqlClusterEnvironmentPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**KsqlClusterEnvironment)(nil)).Elem() +} + +func (i *ksqlClusterEnvironmentPtrType) ToKsqlClusterEnvironmentPtrOutput() KsqlClusterEnvironmentPtrOutput { + return i.ToKsqlClusterEnvironmentPtrOutputWithContext(context.Background()) +} + +func (i *ksqlClusterEnvironmentPtrType) ToKsqlClusterEnvironmentPtrOutputWithContext(ctx context.Context) KsqlClusterEnvironmentPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(KsqlClusterEnvironmentPtrOutput) +} + +type KsqlClusterEnvironmentOutput struct{ *pulumi.OutputState } + +func (KsqlClusterEnvironmentOutput) ElementType() reflect.Type { + return reflect.TypeOf((*KsqlClusterEnvironment)(nil)).Elem() +} + +func (o KsqlClusterEnvironmentOutput) ToKsqlClusterEnvironmentOutput() KsqlClusterEnvironmentOutput { + return o +} + +func (o KsqlClusterEnvironmentOutput) ToKsqlClusterEnvironmentOutputWithContext(ctx context.Context) KsqlClusterEnvironmentOutput { + return o +} + +func (o KsqlClusterEnvironmentOutput) ToKsqlClusterEnvironmentPtrOutput() KsqlClusterEnvironmentPtrOutput { + return o.ToKsqlClusterEnvironmentPtrOutputWithContext(context.Background()) +} + +func (o KsqlClusterEnvironmentOutput) ToKsqlClusterEnvironmentPtrOutputWithContext(ctx context.Context) KsqlClusterEnvironmentPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v KsqlClusterEnvironment) *KsqlClusterEnvironment { + return &v + }).(KsqlClusterEnvironmentPtrOutput) +} + +// The ID of the associated service or user account, for example, `sa-abc123`. +func (o KsqlClusterEnvironmentOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v KsqlClusterEnvironment) string { return v.Id }).(pulumi.StringOutput) +} + +type KsqlClusterEnvironmentPtrOutput struct{ *pulumi.OutputState } + +func (KsqlClusterEnvironmentPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**KsqlClusterEnvironment)(nil)).Elem() +} + +func (o KsqlClusterEnvironmentPtrOutput) ToKsqlClusterEnvironmentPtrOutput() KsqlClusterEnvironmentPtrOutput { + return o +} + +func (o KsqlClusterEnvironmentPtrOutput) ToKsqlClusterEnvironmentPtrOutputWithContext(ctx context.Context) KsqlClusterEnvironmentPtrOutput { + return o +} + +func (o KsqlClusterEnvironmentPtrOutput) Elem() KsqlClusterEnvironmentOutput { + return o.ApplyT(func(v *KsqlClusterEnvironment) KsqlClusterEnvironment { + if v != nil { + return *v + } + var ret KsqlClusterEnvironment + return ret + }).(KsqlClusterEnvironmentOutput) +} + +// The ID of the associated service or user account, for example, `sa-abc123`. +func (o KsqlClusterEnvironmentPtrOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v *KsqlClusterEnvironment) *string { + if v == nil { + return nil + } + return &v.Id + }).(pulumi.StringPtrOutput) +} + +type KsqlClusterKafkaCluster struct { + // The ID of the associated service or user account, for example, `sa-abc123`. + Id string `pulumi:"id"` +} + +// KsqlClusterKafkaClusterInput is an input type that accepts KsqlClusterKafkaClusterArgs and KsqlClusterKafkaClusterOutput values. +// You can construct a concrete instance of `KsqlClusterKafkaClusterInput` via: +// +// KsqlClusterKafkaClusterArgs{...} +type KsqlClusterKafkaClusterInput interface { + pulumi.Input + + ToKsqlClusterKafkaClusterOutput() KsqlClusterKafkaClusterOutput + ToKsqlClusterKafkaClusterOutputWithContext(context.Context) KsqlClusterKafkaClusterOutput +} + +type KsqlClusterKafkaClusterArgs struct { + // The ID of the associated service or user account, for example, `sa-abc123`. + Id pulumi.StringInput `pulumi:"id"` +} + +func (KsqlClusterKafkaClusterArgs) ElementType() reflect.Type { + return reflect.TypeOf((*KsqlClusterKafkaCluster)(nil)).Elem() +} + +func (i KsqlClusterKafkaClusterArgs) ToKsqlClusterKafkaClusterOutput() KsqlClusterKafkaClusterOutput { + return i.ToKsqlClusterKafkaClusterOutputWithContext(context.Background()) +} + +func (i KsqlClusterKafkaClusterArgs) ToKsqlClusterKafkaClusterOutputWithContext(ctx context.Context) KsqlClusterKafkaClusterOutput { + return pulumi.ToOutputWithContext(ctx, i).(KsqlClusterKafkaClusterOutput) +} + +func (i KsqlClusterKafkaClusterArgs) ToKsqlClusterKafkaClusterPtrOutput() KsqlClusterKafkaClusterPtrOutput { + return i.ToKsqlClusterKafkaClusterPtrOutputWithContext(context.Background()) +} + +func (i KsqlClusterKafkaClusterArgs) ToKsqlClusterKafkaClusterPtrOutputWithContext(ctx context.Context) KsqlClusterKafkaClusterPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(KsqlClusterKafkaClusterOutput).ToKsqlClusterKafkaClusterPtrOutputWithContext(ctx) +} + +// KsqlClusterKafkaClusterPtrInput is an input type that accepts KsqlClusterKafkaClusterArgs, KsqlClusterKafkaClusterPtr and KsqlClusterKafkaClusterPtrOutput values. +// You can construct a concrete instance of `KsqlClusterKafkaClusterPtrInput` via: +// +// KsqlClusterKafkaClusterArgs{...} +// +// or: +// +// nil +type KsqlClusterKafkaClusterPtrInput interface { + pulumi.Input + + ToKsqlClusterKafkaClusterPtrOutput() KsqlClusterKafkaClusterPtrOutput + ToKsqlClusterKafkaClusterPtrOutputWithContext(context.Context) KsqlClusterKafkaClusterPtrOutput +} + +type ksqlClusterKafkaClusterPtrType KsqlClusterKafkaClusterArgs + +func KsqlClusterKafkaClusterPtr(v *KsqlClusterKafkaClusterArgs) KsqlClusterKafkaClusterPtrInput { + return (*ksqlClusterKafkaClusterPtrType)(v) +} + +func (*ksqlClusterKafkaClusterPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**KsqlClusterKafkaCluster)(nil)).Elem() +} + +func (i *ksqlClusterKafkaClusterPtrType) ToKsqlClusterKafkaClusterPtrOutput() KsqlClusterKafkaClusterPtrOutput { + return i.ToKsqlClusterKafkaClusterPtrOutputWithContext(context.Background()) +} + +func (i *ksqlClusterKafkaClusterPtrType) ToKsqlClusterKafkaClusterPtrOutputWithContext(ctx context.Context) KsqlClusterKafkaClusterPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(KsqlClusterKafkaClusterPtrOutput) +} + +type KsqlClusterKafkaClusterOutput struct{ *pulumi.OutputState } + +func (KsqlClusterKafkaClusterOutput) ElementType() reflect.Type { + return reflect.TypeOf((*KsqlClusterKafkaCluster)(nil)).Elem() +} + +func (o KsqlClusterKafkaClusterOutput) ToKsqlClusterKafkaClusterOutput() KsqlClusterKafkaClusterOutput { + return o +} + +func (o KsqlClusterKafkaClusterOutput) ToKsqlClusterKafkaClusterOutputWithContext(ctx context.Context) KsqlClusterKafkaClusterOutput { + return o +} + +func (o KsqlClusterKafkaClusterOutput) ToKsqlClusterKafkaClusterPtrOutput() KsqlClusterKafkaClusterPtrOutput { + return o.ToKsqlClusterKafkaClusterPtrOutputWithContext(context.Background()) +} + +func (o KsqlClusterKafkaClusterOutput) ToKsqlClusterKafkaClusterPtrOutputWithContext(ctx context.Context) KsqlClusterKafkaClusterPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v KsqlClusterKafkaCluster) *KsqlClusterKafkaCluster { + return &v + }).(KsqlClusterKafkaClusterPtrOutput) +} + +// The ID of the associated service or user account, for example, `sa-abc123`. +func (o KsqlClusterKafkaClusterOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v KsqlClusterKafkaCluster) string { return v.Id }).(pulumi.StringOutput) +} + +type KsqlClusterKafkaClusterPtrOutput struct{ *pulumi.OutputState } + +func (KsqlClusterKafkaClusterPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**KsqlClusterKafkaCluster)(nil)).Elem() +} + +func (o KsqlClusterKafkaClusterPtrOutput) ToKsqlClusterKafkaClusterPtrOutput() KsqlClusterKafkaClusterPtrOutput { + return o +} + +func (o KsqlClusterKafkaClusterPtrOutput) ToKsqlClusterKafkaClusterPtrOutputWithContext(ctx context.Context) KsqlClusterKafkaClusterPtrOutput { + return o +} + +func (o KsqlClusterKafkaClusterPtrOutput) Elem() KsqlClusterKafkaClusterOutput { + return o.ApplyT(func(v *KsqlClusterKafkaCluster) KsqlClusterKafkaCluster { + if v != nil { + return *v + } + var ret KsqlClusterKafkaCluster + return ret + }).(KsqlClusterKafkaClusterOutput) +} + +// The ID of the associated service or user account, for example, `sa-abc123`. +func (o KsqlClusterKafkaClusterPtrOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v *KsqlClusterKafkaCluster) *string { + if v == nil { + return nil + } + return &v.Id + }).(pulumi.StringPtrOutput) +} + type NetworkAw struct { // (Optional String) The AWS VPC endpoint service for the network (used for Private Link) if available. PrivateLinkEndpointService *string `pulumi:"privateLinkEndpointService"` @@ -2319,7 +2867,9 @@ func (o NetworkEnvironmentPtrOutput) Id() pulumi.StringPtrOutput { } type NetworkGcp struct { - // (Required String) The GCP project. + // (Optional Map) The mapping of zones to Private Service Connect service attachments if available. Keys are zones and values are [GCP Private Service Connect service attachment](https://cloud.google.com/vpc/docs/configure-private-service-connect-producer#api_7). + PrivateServiceConnectServiceAttachments map[string]string `pulumi:"privateServiceConnectServiceAttachments"` + // (Required String) The GCP project ID. Project *string `pulumi:"project"` // (Required String) The GCP VPC network name. VpcNetwork *string `pulumi:"vpcNetwork"` @@ -2337,7 +2887,9 @@ type NetworkGcpInput interface { } type NetworkGcpArgs struct { - // (Required String) The GCP project. + // (Optional Map) The mapping of zones to Private Service Connect service attachments if available. Keys are zones and values are [GCP Private Service Connect service attachment](https://cloud.google.com/vpc/docs/configure-private-service-connect-producer#api_7). + PrivateServiceConnectServiceAttachments pulumi.StringMapInput `pulumi:"privateServiceConnectServiceAttachments"` + // (Required String) The GCP project ID. Project pulumi.StringPtrInput `pulumi:"project"` // (Required String) The GCP VPC network name. VpcNetwork pulumi.StringPtrInput `pulumi:"vpcNetwork"` @@ -2394,7 +2946,12 @@ func (o NetworkGcpOutput) ToNetworkGcpOutputWithContext(ctx context.Context) Net return o } -// (Required String) The GCP project. +// (Optional Map) The mapping of zones to Private Service Connect service attachments if available. Keys are zones and values are [GCP Private Service Connect service attachment](https://cloud.google.com/vpc/docs/configure-private-service-connect-producer#api_7). +func (o NetworkGcpOutput) PrivateServiceConnectServiceAttachments() pulumi.StringMapOutput { + return o.ApplyT(func(v NetworkGcp) map[string]string { return v.PrivateServiceConnectServiceAttachments }).(pulumi.StringMapOutput) +} + +// (Required String) The GCP project ID. func (o NetworkGcpOutput) Project() pulumi.StringPtrOutput { return o.ApplyT(func(v NetworkGcp) *string { return v.Project }).(pulumi.StringPtrOutput) } @@ -3553,103 +4110,240 @@ func (i PrivateLinkAccessEnvironmentArgs) ToPrivateLinkAccessEnvironmentPtrOutpu return i.ToPrivateLinkAccessEnvironmentPtrOutputWithContext(context.Background()) } -func (i PrivateLinkAccessEnvironmentArgs) ToPrivateLinkAccessEnvironmentPtrOutputWithContext(ctx context.Context) PrivateLinkAccessEnvironmentPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(PrivateLinkAccessEnvironmentOutput).ToPrivateLinkAccessEnvironmentPtrOutputWithContext(ctx) +func (i PrivateLinkAccessEnvironmentArgs) ToPrivateLinkAccessEnvironmentPtrOutputWithContext(ctx context.Context) PrivateLinkAccessEnvironmentPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PrivateLinkAccessEnvironmentOutput).ToPrivateLinkAccessEnvironmentPtrOutputWithContext(ctx) +} + +// PrivateLinkAccessEnvironmentPtrInput is an input type that accepts PrivateLinkAccessEnvironmentArgs, PrivateLinkAccessEnvironmentPtr and PrivateLinkAccessEnvironmentPtrOutput values. +// You can construct a concrete instance of `PrivateLinkAccessEnvironmentPtrInput` via: +// +// PrivateLinkAccessEnvironmentArgs{...} +// +// or: +// +// nil +type PrivateLinkAccessEnvironmentPtrInput interface { + pulumi.Input + + ToPrivateLinkAccessEnvironmentPtrOutput() PrivateLinkAccessEnvironmentPtrOutput + ToPrivateLinkAccessEnvironmentPtrOutputWithContext(context.Context) PrivateLinkAccessEnvironmentPtrOutput +} + +type privateLinkAccessEnvironmentPtrType PrivateLinkAccessEnvironmentArgs + +func PrivateLinkAccessEnvironmentPtr(v *PrivateLinkAccessEnvironmentArgs) PrivateLinkAccessEnvironmentPtrInput { + return (*privateLinkAccessEnvironmentPtrType)(v) +} + +func (*privateLinkAccessEnvironmentPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**PrivateLinkAccessEnvironment)(nil)).Elem() +} + +func (i *privateLinkAccessEnvironmentPtrType) ToPrivateLinkAccessEnvironmentPtrOutput() PrivateLinkAccessEnvironmentPtrOutput { + return i.ToPrivateLinkAccessEnvironmentPtrOutputWithContext(context.Background()) +} + +func (i *privateLinkAccessEnvironmentPtrType) ToPrivateLinkAccessEnvironmentPtrOutputWithContext(ctx context.Context) PrivateLinkAccessEnvironmentPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PrivateLinkAccessEnvironmentPtrOutput) +} + +type PrivateLinkAccessEnvironmentOutput struct{ *pulumi.OutputState } + +func (PrivateLinkAccessEnvironmentOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PrivateLinkAccessEnvironment)(nil)).Elem() +} + +func (o PrivateLinkAccessEnvironmentOutput) ToPrivateLinkAccessEnvironmentOutput() PrivateLinkAccessEnvironmentOutput { + return o +} + +func (o PrivateLinkAccessEnvironmentOutput) ToPrivateLinkAccessEnvironmentOutputWithContext(ctx context.Context) PrivateLinkAccessEnvironmentOutput { + return o +} + +func (o PrivateLinkAccessEnvironmentOutput) ToPrivateLinkAccessEnvironmentPtrOutput() PrivateLinkAccessEnvironmentPtrOutput { + return o.ToPrivateLinkAccessEnvironmentPtrOutputWithContext(context.Background()) +} + +func (o PrivateLinkAccessEnvironmentOutput) ToPrivateLinkAccessEnvironmentPtrOutputWithContext(ctx context.Context) PrivateLinkAccessEnvironmentPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v PrivateLinkAccessEnvironment) *PrivateLinkAccessEnvironment { + return &v + }).(PrivateLinkAccessEnvironmentPtrOutput) +} + +// The ID of the Network that the Private Link Access belongs to, for example, `n-abc123`. +func (o PrivateLinkAccessEnvironmentOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v PrivateLinkAccessEnvironment) string { return v.Id }).(pulumi.StringOutput) +} + +type PrivateLinkAccessEnvironmentPtrOutput struct{ *pulumi.OutputState } + +func (PrivateLinkAccessEnvironmentPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PrivateLinkAccessEnvironment)(nil)).Elem() +} + +func (o PrivateLinkAccessEnvironmentPtrOutput) ToPrivateLinkAccessEnvironmentPtrOutput() PrivateLinkAccessEnvironmentPtrOutput { + return o +} + +func (o PrivateLinkAccessEnvironmentPtrOutput) ToPrivateLinkAccessEnvironmentPtrOutputWithContext(ctx context.Context) PrivateLinkAccessEnvironmentPtrOutput { + return o +} + +func (o PrivateLinkAccessEnvironmentPtrOutput) Elem() PrivateLinkAccessEnvironmentOutput { + return o.ApplyT(func(v *PrivateLinkAccessEnvironment) PrivateLinkAccessEnvironment { + if v != nil { + return *v + } + var ret PrivateLinkAccessEnvironment + return ret + }).(PrivateLinkAccessEnvironmentOutput) +} + +// The ID of the Network that the Private Link Access belongs to, for example, `n-abc123`. +func (o PrivateLinkAccessEnvironmentPtrOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PrivateLinkAccessEnvironment) *string { + if v == nil { + return nil + } + return &v.Id + }).(pulumi.StringPtrOutput) +} + +type PrivateLinkAccessGcp struct { + // The GCP project ID to allow for Private Service Connect access. You can find your Google Cloud Project ID under **Project ID** section of your [Google Cloud Console dashboard](https://console.cloud.google.com/home/dashboard). + Project string `pulumi:"project"` +} + +// PrivateLinkAccessGcpInput is an input type that accepts PrivateLinkAccessGcpArgs and PrivateLinkAccessGcpOutput values. +// You can construct a concrete instance of `PrivateLinkAccessGcpInput` via: +// +// PrivateLinkAccessGcpArgs{...} +type PrivateLinkAccessGcpInput interface { + pulumi.Input + + ToPrivateLinkAccessGcpOutput() PrivateLinkAccessGcpOutput + ToPrivateLinkAccessGcpOutputWithContext(context.Context) PrivateLinkAccessGcpOutput +} + +type PrivateLinkAccessGcpArgs struct { + // The GCP project ID to allow for Private Service Connect access. You can find your Google Cloud Project ID under **Project ID** section of your [Google Cloud Console dashboard](https://console.cloud.google.com/home/dashboard). + Project pulumi.StringInput `pulumi:"project"` +} + +func (PrivateLinkAccessGcpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PrivateLinkAccessGcp)(nil)).Elem() +} + +func (i PrivateLinkAccessGcpArgs) ToPrivateLinkAccessGcpOutput() PrivateLinkAccessGcpOutput { + return i.ToPrivateLinkAccessGcpOutputWithContext(context.Background()) +} + +func (i PrivateLinkAccessGcpArgs) ToPrivateLinkAccessGcpOutputWithContext(ctx context.Context) PrivateLinkAccessGcpOutput { + return pulumi.ToOutputWithContext(ctx, i).(PrivateLinkAccessGcpOutput) +} + +func (i PrivateLinkAccessGcpArgs) ToPrivateLinkAccessGcpPtrOutput() PrivateLinkAccessGcpPtrOutput { + return i.ToPrivateLinkAccessGcpPtrOutputWithContext(context.Background()) +} + +func (i PrivateLinkAccessGcpArgs) ToPrivateLinkAccessGcpPtrOutputWithContext(ctx context.Context) PrivateLinkAccessGcpPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PrivateLinkAccessGcpOutput).ToPrivateLinkAccessGcpPtrOutputWithContext(ctx) } -// PrivateLinkAccessEnvironmentPtrInput is an input type that accepts PrivateLinkAccessEnvironmentArgs, PrivateLinkAccessEnvironmentPtr and PrivateLinkAccessEnvironmentPtrOutput values. -// You can construct a concrete instance of `PrivateLinkAccessEnvironmentPtrInput` via: +// PrivateLinkAccessGcpPtrInput is an input type that accepts PrivateLinkAccessGcpArgs, PrivateLinkAccessGcpPtr and PrivateLinkAccessGcpPtrOutput values. +// You can construct a concrete instance of `PrivateLinkAccessGcpPtrInput` via: // -// PrivateLinkAccessEnvironmentArgs{...} +// PrivateLinkAccessGcpArgs{...} // // or: // // nil -type PrivateLinkAccessEnvironmentPtrInput interface { +type PrivateLinkAccessGcpPtrInput interface { pulumi.Input - ToPrivateLinkAccessEnvironmentPtrOutput() PrivateLinkAccessEnvironmentPtrOutput - ToPrivateLinkAccessEnvironmentPtrOutputWithContext(context.Context) PrivateLinkAccessEnvironmentPtrOutput + ToPrivateLinkAccessGcpPtrOutput() PrivateLinkAccessGcpPtrOutput + ToPrivateLinkAccessGcpPtrOutputWithContext(context.Context) PrivateLinkAccessGcpPtrOutput } -type privateLinkAccessEnvironmentPtrType PrivateLinkAccessEnvironmentArgs +type privateLinkAccessGcpPtrType PrivateLinkAccessGcpArgs -func PrivateLinkAccessEnvironmentPtr(v *PrivateLinkAccessEnvironmentArgs) PrivateLinkAccessEnvironmentPtrInput { - return (*privateLinkAccessEnvironmentPtrType)(v) +func PrivateLinkAccessGcpPtr(v *PrivateLinkAccessGcpArgs) PrivateLinkAccessGcpPtrInput { + return (*privateLinkAccessGcpPtrType)(v) } -func (*privateLinkAccessEnvironmentPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**PrivateLinkAccessEnvironment)(nil)).Elem() +func (*privateLinkAccessGcpPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**PrivateLinkAccessGcp)(nil)).Elem() } -func (i *privateLinkAccessEnvironmentPtrType) ToPrivateLinkAccessEnvironmentPtrOutput() PrivateLinkAccessEnvironmentPtrOutput { - return i.ToPrivateLinkAccessEnvironmentPtrOutputWithContext(context.Background()) +func (i *privateLinkAccessGcpPtrType) ToPrivateLinkAccessGcpPtrOutput() PrivateLinkAccessGcpPtrOutput { + return i.ToPrivateLinkAccessGcpPtrOutputWithContext(context.Background()) } -func (i *privateLinkAccessEnvironmentPtrType) ToPrivateLinkAccessEnvironmentPtrOutputWithContext(ctx context.Context) PrivateLinkAccessEnvironmentPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(PrivateLinkAccessEnvironmentPtrOutput) +func (i *privateLinkAccessGcpPtrType) ToPrivateLinkAccessGcpPtrOutputWithContext(ctx context.Context) PrivateLinkAccessGcpPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PrivateLinkAccessGcpPtrOutput) } -type PrivateLinkAccessEnvironmentOutput struct{ *pulumi.OutputState } +type PrivateLinkAccessGcpOutput struct{ *pulumi.OutputState } -func (PrivateLinkAccessEnvironmentOutput) ElementType() reflect.Type { - return reflect.TypeOf((*PrivateLinkAccessEnvironment)(nil)).Elem() +func (PrivateLinkAccessGcpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PrivateLinkAccessGcp)(nil)).Elem() } -func (o PrivateLinkAccessEnvironmentOutput) ToPrivateLinkAccessEnvironmentOutput() PrivateLinkAccessEnvironmentOutput { +func (o PrivateLinkAccessGcpOutput) ToPrivateLinkAccessGcpOutput() PrivateLinkAccessGcpOutput { return o } -func (o PrivateLinkAccessEnvironmentOutput) ToPrivateLinkAccessEnvironmentOutputWithContext(ctx context.Context) PrivateLinkAccessEnvironmentOutput { +func (o PrivateLinkAccessGcpOutput) ToPrivateLinkAccessGcpOutputWithContext(ctx context.Context) PrivateLinkAccessGcpOutput { return o } -func (o PrivateLinkAccessEnvironmentOutput) ToPrivateLinkAccessEnvironmentPtrOutput() PrivateLinkAccessEnvironmentPtrOutput { - return o.ToPrivateLinkAccessEnvironmentPtrOutputWithContext(context.Background()) +func (o PrivateLinkAccessGcpOutput) ToPrivateLinkAccessGcpPtrOutput() PrivateLinkAccessGcpPtrOutput { + return o.ToPrivateLinkAccessGcpPtrOutputWithContext(context.Background()) } -func (o PrivateLinkAccessEnvironmentOutput) ToPrivateLinkAccessEnvironmentPtrOutputWithContext(ctx context.Context) PrivateLinkAccessEnvironmentPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v PrivateLinkAccessEnvironment) *PrivateLinkAccessEnvironment { +func (o PrivateLinkAccessGcpOutput) ToPrivateLinkAccessGcpPtrOutputWithContext(ctx context.Context) PrivateLinkAccessGcpPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v PrivateLinkAccessGcp) *PrivateLinkAccessGcp { return &v - }).(PrivateLinkAccessEnvironmentPtrOutput) + }).(PrivateLinkAccessGcpPtrOutput) } -// The ID of the Network that the Private Link Access belongs to, for example, `n-abc123`. -func (o PrivateLinkAccessEnvironmentOutput) Id() pulumi.StringOutput { - return o.ApplyT(func(v PrivateLinkAccessEnvironment) string { return v.Id }).(pulumi.StringOutput) +// The GCP project ID to allow for Private Service Connect access. You can find your Google Cloud Project ID under **Project ID** section of your [Google Cloud Console dashboard](https://console.cloud.google.com/home/dashboard). +func (o PrivateLinkAccessGcpOutput) Project() pulumi.StringOutput { + return o.ApplyT(func(v PrivateLinkAccessGcp) string { return v.Project }).(pulumi.StringOutput) } -type PrivateLinkAccessEnvironmentPtrOutput struct{ *pulumi.OutputState } +type PrivateLinkAccessGcpPtrOutput struct{ *pulumi.OutputState } -func (PrivateLinkAccessEnvironmentPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**PrivateLinkAccessEnvironment)(nil)).Elem() +func (PrivateLinkAccessGcpPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PrivateLinkAccessGcp)(nil)).Elem() } -func (o PrivateLinkAccessEnvironmentPtrOutput) ToPrivateLinkAccessEnvironmentPtrOutput() PrivateLinkAccessEnvironmentPtrOutput { +func (o PrivateLinkAccessGcpPtrOutput) ToPrivateLinkAccessGcpPtrOutput() PrivateLinkAccessGcpPtrOutput { return o } -func (o PrivateLinkAccessEnvironmentPtrOutput) ToPrivateLinkAccessEnvironmentPtrOutputWithContext(ctx context.Context) PrivateLinkAccessEnvironmentPtrOutput { +func (o PrivateLinkAccessGcpPtrOutput) ToPrivateLinkAccessGcpPtrOutputWithContext(ctx context.Context) PrivateLinkAccessGcpPtrOutput { return o } -func (o PrivateLinkAccessEnvironmentPtrOutput) Elem() PrivateLinkAccessEnvironmentOutput { - return o.ApplyT(func(v *PrivateLinkAccessEnvironment) PrivateLinkAccessEnvironment { +func (o PrivateLinkAccessGcpPtrOutput) Elem() PrivateLinkAccessGcpOutput { + return o.ApplyT(func(v *PrivateLinkAccessGcp) PrivateLinkAccessGcp { if v != nil { return *v } - var ret PrivateLinkAccessEnvironment + var ret PrivateLinkAccessGcp return ret - }).(PrivateLinkAccessEnvironmentOutput) + }).(PrivateLinkAccessGcpOutput) } -// The ID of the Network that the Private Link Access belongs to, for example, `n-abc123`. -func (o PrivateLinkAccessEnvironmentPtrOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v *PrivateLinkAccessEnvironment) *string { +// The GCP project ID to allow for Private Service Connect access. You can find your Google Cloud Project ID under **Project ID** section of your [Google Cloud Console dashboard](https://console.cloud.google.com/home/dashboard). +func (o PrivateLinkAccessGcpPtrOutput) Project() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PrivateLinkAccessGcp) *string { if v == nil { return nil } - return &v.Id + return &v.Project }).(pulumi.StringPtrOutput) } @@ -3790,6 +4484,58 @@ func (o PrivateLinkAccessNetworkPtrOutput) Id() pulumi.StringPtrOutput { }).(pulumi.StringPtrOutput) } +type GetIdentityPoolIdentityProvider struct { + // The ID of the Identity Provider associated with the Identity Pool, for example, `op-abc123`. + Id string `pulumi:"id"` +} + +// GetIdentityPoolIdentityProviderInput is an input type that accepts GetIdentityPoolIdentityProviderArgs and GetIdentityPoolIdentityProviderOutput values. +// You can construct a concrete instance of `GetIdentityPoolIdentityProviderInput` via: +// +// GetIdentityPoolIdentityProviderArgs{...} +type GetIdentityPoolIdentityProviderInput interface { + pulumi.Input + + ToGetIdentityPoolIdentityProviderOutput() GetIdentityPoolIdentityProviderOutput + ToGetIdentityPoolIdentityProviderOutputWithContext(context.Context) GetIdentityPoolIdentityProviderOutput +} + +type GetIdentityPoolIdentityProviderArgs struct { + // The ID of the Identity Provider associated with the Identity Pool, for example, `op-abc123`. + Id pulumi.StringInput `pulumi:"id"` +} + +func (GetIdentityPoolIdentityProviderArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIdentityPoolIdentityProvider)(nil)).Elem() +} + +func (i GetIdentityPoolIdentityProviderArgs) ToGetIdentityPoolIdentityProviderOutput() GetIdentityPoolIdentityProviderOutput { + return i.ToGetIdentityPoolIdentityProviderOutputWithContext(context.Background()) +} + +func (i GetIdentityPoolIdentityProviderArgs) ToGetIdentityPoolIdentityProviderOutputWithContext(ctx context.Context) GetIdentityPoolIdentityProviderOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIdentityPoolIdentityProviderOutput) +} + +type GetIdentityPoolIdentityProviderOutput struct{ *pulumi.OutputState } + +func (GetIdentityPoolIdentityProviderOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIdentityPoolIdentityProvider)(nil)).Elem() +} + +func (o GetIdentityPoolIdentityProviderOutput) ToGetIdentityPoolIdentityProviderOutput() GetIdentityPoolIdentityProviderOutput { + return o +} + +func (o GetIdentityPoolIdentityProviderOutput) ToGetIdentityPoolIdentityProviderOutputWithContext(ctx context.Context) GetIdentityPoolIdentityProviderOutput { + return o +} + +// The ID of the Identity Provider associated with the Identity Pool, for example, `op-abc123`. +func (o GetIdentityPoolIdentityProviderOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIdentityPoolIdentityProvider) string { return v.Id }).(pulumi.StringOutput) +} + type GetKafkaClusterBasic struct { } @@ -4479,6 +5225,252 @@ func (o GetKafkaTopicKafkaClusterOutput) Id() pulumi.StringOutput { return o.ApplyT(func(v GetKafkaTopicKafkaCluster) string { return v.Id }).(pulumi.StringOutput) } +type GetKsqlClusterCredentialIdentity struct { + // The ID of the Environment that the ksqlDB cluster belongs to, for example, `env-xyz456`. + Id string `pulumi:"id"` +} + +// GetKsqlClusterCredentialIdentityInput is an input type that accepts GetKsqlClusterCredentialIdentityArgs and GetKsqlClusterCredentialIdentityOutput values. +// You can construct a concrete instance of `GetKsqlClusterCredentialIdentityInput` via: +// +// GetKsqlClusterCredentialIdentityArgs{...} +type GetKsqlClusterCredentialIdentityInput interface { + pulumi.Input + + ToGetKsqlClusterCredentialIdentityOutput() GetKsqlClusterCredentialIdentityOutput + ToGetKsqlClusterCredentialIdentityOutputWithContext(context.Context) GetKsqlClusterCredentialIdentityOutput +} + +type GetKsqlClusterCredentialIdentityArgs struct { + // The ID of the Environment that the ksqlDB cluster belongs to, for example, `env-xyz456`. + Id pulumi.StringInput `pulumi:"id"` +} + +func (GetKsqlClusterCredentialIdentityArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetKsqlClusterCredentialIdentity)(nil)).Elem() +} + +func (i GetKsqlClusterCredentialIdentityArgs) ToGetKsqlClusterCredentialIdentityOutput() GetKsqlClusterCredentialIdentityOutput { + return i.ToGetKsqlClusterCredentialIdentityOutputWithContext(context.Background()) +} + +func (i GetKsqlClusterCredentialIdentityArgs) ToGetKsqlClusterCredentialIdentityOutputWithContext(ctx context.Context) GetKsqlClusterCredentialIdentityOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetKsqlClusterCredentialIdentityOutput) +} + +// GetKsqlClusterCredentialIdentityArrayInput is an input type that accepts GetKsqlClusterCredentialIdentityArray and GetKsqlClusterCredentialIdentityArrayOutput values. +// You can construct a concrete instance of `GetKsqlClusterCredentialIdentityArrayInput` via: +// +// GetKsqlClusterCredentialIdentityArray{ GetKsqlClusterCredentialIdentityArgs{...} } +type GetKsqlClusterCredentialIdentityArrayInput interface { + pulumi.Input + + ToGetKsqlClusterCredentialIdentityArrayOutput() GetKsqlClusterCredentialIdentityArrayOutput + ToGetKsqlClusterCredentialIdentityArrayOutputWithContext(context.Context) GetKsqlClusterCredentialIdentityArrayOutput +} + +type GetKsqlClusterCredentialIdentityArray []GetKsqlClusterCredentialIdentityInput + +func (GetKsqlClusterCredentialIdentityArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetKsqlClusterCredentialIdentity)(nil)).Elem() +} + +func (i GetKsqlClusterCredentialIdentityArray) ToGetKsqlClusterCredentialIdentityArrayOutput() GetKsqlClusterCredentialIdentityArrayOutput { + return i.ToGetKsqlClusterCredentialIdentityArrayOutputWithContext(context.Background()) +} + +func (i GetKsqlClusterCredentialIdentityArray) ToGetKsqlClusterCredentialIdentityArrayOutputWithContext(ctx context.Context) GetKsqlClusterCredentialIdentityArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetKsqlClusterCredentialIdentityArrayOutput) +} + +type GetKsqlClusterCredentialIdentityOutput struct{ *pulumi.OutputState } + +func (GetKsqlClusterCredentialIdentityOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetKsqlClusterCredentialIdentity)(nil)).Elem() +} + +func (o GetKsqlClusterCredentialIdentityOutput) ToGetKsqlClusterCredentialIdentityOutput() GetKsqlClusterCredentialIdentityOutput { + return o +} + +func (o GetKsqlClusterCredentialIdentityOutput) ToGetKsqlClusterCredentialIdentityOutputWithContext(ctx context.Context) GetKsqlClusterCredentialIdentityOutput { + return o +} + +// The ID of the Environment that the ksqlDB cluster belongs to, for example, `env-xyz456`. +func (o GetKsqlClusterCredentialIdentityOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetKsqlClusterCredentialIdentity) string { return v.Id }).(pulumi.StringOutput) +} + +type GetKsqlClusterCredentialIdentityArrayOutput struct{ *pulumi.OutputState } + +func (GetKsqlClusterCredentialIdentityArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetKsqlClusterCredentialIdentity)(nil)).Elem() +} + +func (o GetKsqlClusterCredentialIdentityArrayOutput) ToGetKsqlClusterCredentialIdentityArrayOutput() GetKsqlClusterCredentialIdentityArrayOutput { + return o +} + +func (o GetKsqlClusterCredentialIdentityArrayOutput) ToGetKsqlClusterCredentialIdentityArrayOutputWithContext(ctx context.Context) GetKsqlClusterCredentialIdentityArrayOutput { + return o +} + +func (o GetKsqlClusterCredentialIdentityArrayOutput) Index(i pulumi.IntInput) GetKsqlClusterCredentialIdentityOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetKsqlClusterCredentialIdentity { + return vs[0].([]GetKsqlClusterCredentialIdentity)[vs[1].(int)] + }).(GetKsqlClusterCredentialIdentityOutput) +} + +type GetKsqlClusterEnvironment struct { + // The ID of the Environment that the ksqlDB cluster belongs to, for example, `env-xyz456`. + Id string `pulumi:"id"` +} + +// GetKsqlClusterEnvironmentInput is an input type that accepts GetKsqlClusterEnvironmentArgs and GetKsqlClusterEnvironmentOutput values. +// You can construct a concrete instance of `GetKsqlClusterEnvironmentInput` via: +// +// GetKsqlClusterEnvironmentArgs{...} +type GetKsqlClusterEnvironmentInput interface { + pulumi.Input + + ToGetKsqlClusterEnvironmentOutput() GetKsqlClusterEnvironmentOutput + ToGetKsqlClusterEnvironmentOutputWithContext(context.Context) GetKsqlClusterEnvironmentOutput +} + +type GetKsqlClusterEnvironmentArgs struct { + // The ID of the Environment that the ksqlDB cluster belongs to, for example, `env-xyz456`. + Id pulumi.StringInput `pulumi:"id"` +} + +func (GetKsqlClusterEnvironmentArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetKsqlClusterEnvironment)(nil)).Elem() +} + +func (i GetKsqlClusterEnvironmentArgs) ToGetKsqlClusterEnvironmentOutput() GetKsqlClusterEnvironmentOutput { + return i.ToGetKsqlClusterEnvironmentOutputWithContext(context.Background()) +} + +func (i GetKsqlClusterEnvironmentArgs) ToGetKsqlClusterEnvironmentOutputWithContext(ctx context.Context) GetKsqlClusterEnvironmentOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetKsqlClusterEnvironmentOutput) +} + +type GetKsqlClusterEnvironmentOutput struct{ *pulumi.OutputState } + +func (GetKsqlClusterEnvironmentOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetKsqlClusterEnvironment)(nil)).Elem() +} + +func (o GetKsqlClusterEnvironmentOutput) ToGetKsqlClusterEnvironmentOutput() GetKsqlClusterEnvironmentOutput { + return o +} + +func (o GetKsqlClusterEnvironmentOutput) ToGetKsqlClusterEnvironmentOutputWithContext(ctx context.Context) GetKsqlClusterEnvironmentOutput { + return o +} + +// The ID of the Environment that the ksqlDB cluster belongs to, for example, `env-xyz456`. +func (o GetKsqlClusterEnvironmentOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetKsqlClusterEnvironment) string { return v.Id }).(pulumi.StringOutput) +} + +type GetKsqlClusterKafkaCluster struct { + // The ID of the Environment that the ksqlDB cluster belongs to, for example, `env-xyz456`. + Id string `pulumi:"id"` +} + +// GetKsqlClusterKafkaClusterInput is an input type that accepts GetKsqlClusterKafkaClusterArgs and GetKsqlClusterKafkaClusterOutput values. +// You can construct a concrete instance of `GetKsqlClusterKafkaClusterInput` via: +// +// GetKsqlClusterKafkaClusterArgs{...} +type GetKsqlClusterKafkaClusterInput interface { + pulumi.Input + + ToGetKsqlClusterKafkaClusterOutput() GetKsqlClusterKafkaClusterOutput + ToGetKsqlClusterKafkaClusterOutputWithContext(context.Context) GetKsqlClusterKafkaClusterOutput +} + +type GetKsqlClusterKafkaClusterArgs struct { + // The ID of the Environment that the ksqlDB cluster belongs to, for example, `env-xyz456`. + Id pulumi.StringInput `pulumi:"id"` +} + +func (GetKsqlClusterKafkaClusterArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetKsqlClusterKafkaCluster)(nil)).Elem() +} + +func (i GetKsqlClusterKafkaClusterArgs) ToGetKsqlClusterKafkaClusterOutput() GetKsqlClusterKafkaClusterOutput { + return i.ToGetKsqlClusterKafkaClusterOutputWithContext(context.Background()) +} + +func (i GetKsqlClusterKafkaClusterArgs) ToGetKsqlClusterKafkaClusterOutputWithContext(ctx context.Context) GetKsqlClusterKafkaClusterOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetKsqlClusterKafkaClusterOutput) +} + +// GetKsqlClusterKafkaClusterArrayInput is an input type that accepts GetKsqlClusterKafkaClusterArray and GetKsqlClusterKafkaClusterArrayOutput values. +// You can construct a concrete instance of `GetKsqlClusterKafkaClusterArrayInput` via: +// +// GetKsqlClusterKafkaClusterArray{ GetKsqlClusterKafkaClusterArgs{...} } +type GetKsqlClusterKafkaClusterArrayInput interface { + pulumi.Input + + ToGetKsqlClusterKafkaClusterArrayOutput() GetKsqlClusterKafkaClusterArrayOutput + ToGetKsqlClusterKafkaClusterArrayOutputWithContext(context.Context) GetKsqlClusterKafkaClusterArrayOutput +} + +type GetKsqlClusterKafkaClusterArray []GetKsqlClusterKafkaClusterInput + +func (GetKsqlClusterKafkaClusterArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetKsqlClusterKafkaCluster)(nil)).Elem() +} + +func (i GetKsqlClusterKafkaClusterArray) ToGetKsqlClusterKafkaClusterArrayOutput() GetKsqlClusterKafkaClusterArrayOutput { + return i.ToGetKsqlClusterKafkaClusterArrayOutputWithContext(context.Background()) +} + +func (i GetKsqlClusterKafkaClusterArray) ToGetKsqlClusterKafkaClusterArrayOutputWithContext(ctx context.Context) GetKsqlClusterKafkaClusterArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetKsqlClusterKafkaClusterArrayOutput) +} + +type GetKsqlClusterKafkaClusterOutput struct{ *pulumi.OutputState } + +func (GetKsqlClusterKafkaClusterOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetKsqlClusterKafkaCluster)(nil)).Elem() +} + +func (o GetKsqlClusterKafkaClusterOutput) ToGetKsqlClusterKafkaClusterOutput() GetKsqlClusterKafkaClusterOutput { + return o +} + +func (o GetKsqlClusterKafkaClusterOutput) ToGetKsqlClusterKafkaClusterOutputWithContext(ctx context.Context) GetKsqlClusterKafkaClusterOutput { + return o +} + +// The ID of the Environment that the ksqlDB cluster belongs to, for example, `env-xyz456`. +func (o GetKsqlClusterKafkaClusterOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetKsqlClusterKafkaCluster) string { return v.Id }).(pulumi.StringOutput) +} + +type GetKsqlClusterKafkaClusterArrayOutput struct{ *pulumi.OutputState } + +func (GetKsqlClusterKafkaClusterArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetKsqlClusterKafkaCluster)(nil)).Elem() +} + +func (o GetKsqlClusterKafkaClusterArrayOutput) ToGetKsqlClusterKafkaClusterArrayOutput() GetKsqlClusterKafkaClusterArrayOutput { + return o +} + +func (o GetKsqlClusterKafkaClusterArrayOutput) ToGetKsqlClusterKafkaClusterArrayOutputWithContext(ctx context.Context) GetKsqlClusterKafkaClusterArrayOutput { + return o +} + +func (o GetKsqlClusterKafkaClusterArrayOutput) Index(i pulumi.IntInput) GetKsqlClusterKafkaClusterOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetKsqlClusterKafkaCluster { + return vs[0].([]GetKsqlClusterKafkaCluster)[vs[1].(int)] + }).(GetKsqlClusterKafkaClusterOutput) +} + type GetNetworkAw struct { // (Optional String) The AWS VPC endpoint service for the network (used for Private Link) if available. PrivateLinkEndpointService string `pulumi:"privateLinkEndpointService"` @@ -4735,7 +5727,9 @@ func (o GetNetworkEnvironmentOutput) Id() pulumi.StringOutput { } type GetNetworkGcp struct { - // (Required String) The GCP project. + // (Optional Map) The mapping of zones to Private Service Connect service attachments if available. Keys are zones and values are [GCP Private Service Connect service attachment](https://cloud.google.com/vpc/docs/configure-private-service-connect-producer#api_7). + PrivateServiceConnectServiceAttachments map[string]string `pulumi:"privateServiceConnectServiceAttachments"` + // (Required String) The GCP project ID. Project string `pulumi:"project"` // (Required String) The GCP VPC network name. VpcNetwork string `pulumi:"vpcNetwork"` @@ -4753,7 +5747,9 @@ type GetNetworkGcpInput interface { } type GetNetworkGcpArgs struct { - // (Required String) The GCP project. + // (Optional Map) The mapping of zones to Private Service Connect service attachments if available. Keys are zones and values are [GCP Private Service Connect service attachment](https://cloud.google.com/vpc/docs/configure-private-service-connect-producer#api_7). + PrivateServiceConnectServiceAttachments pulumi.StringMapInput `pulumi:"privateServiceConnectServiceAttachments"` + // (Required String) The GCP project ID. Project pulumi.StringInput `pulumi:"project"` // (Required String) The GCP VPC network name. VpcNetwork pulumi.StringInput `pulumi:"vpcNetwork"` @@ -4810,7 +5806,12 @@ func (o GetNetworkGcpOutput) ToGetNetworkGcpOutputWithContext(ctx context.Contex return o } -// (Required String) The GCP project. +// (Optional Map) The mapping of zones to Private Service Connect service attachments if available. Keys are zones and values are [GCP Private Service Connect service attachment](https://cloud.google.com/vpc/docs/configure-private-service-connect-producer#api_7). +func (o GetNetworkGcpOutput) PrivateServiceConnectServiceAttachments() pulumi.StringMapOutput { + return o.ApplyT(func(v GetNetworkGcp) map[string]string { return v.PrivateServiceConnectServiceAttachments }).(pulumi.StringMapOutput) +} + +// (Required String) The GCP project ID. func (o GetNetworkGcpOutput) Project() pulumi.StringOutput { return o.ApplyT(func(v GetNetworkGcp) string { return v.Project }).(pulumi.StringOutput) } @@ -5589,6 +6590,103 @@ func (o GetPrivateLinkAccessEnvironmentOutput) Id() pulumi.StringOutput { return o.ApplyT(func(v GetPrivateLinkAccessEnvironment) string { return v.Id }).(pulumi.StringOutput) } +type GetPrivateLinkAccessGcp struct { + // (Required String) The GCP project ID to allow for Private Service Connect access. You can find your Google Cloud Project ID under **Project ID** section of your [Google Cloud Console dashboard](https://console.cloud.google.com/home/dashboard). + Project string `pulumi:"project"` +} + +// GetPrivateLinkAccessGcpInput is an input type that accepts GetPrivateLinkAccessGcpArgs and GetPrivateLinkAccessGcpOutput values. +// You can construct a concrete instance of `GetPrivateLinkAccessGcpInput` via: +// +// GetPrivateLinkAccessGcpArgs{...} +type GetPrivateLinkAccessGcpInput interface { + pulumi.Input + + ToGetPrivateLinkAccessGcpOutput() GetPrivateLinkAccessGcpOutput + ToGetPrivateLinkAccessGcpOutputWithContext(context.Context) GetPrivateLinkAccessGcpOutput +} + +type GetPrivateLinkAccessGcpArgs struct { + // (Required String) The GCP project ID to allow for Private Service Connect access. You can find your Google Cloud Project ID under **Project ID** section of your [Google Cloud Console dashboard](https://console.cloud.google.com/home/dashboard). + Project pulumi.StringInput `pulumi:"project"` +} + +func (GetPrivateLinkAccessGcpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPrivateLinkAccessGcp)(nil)).Elem() +} + +func (i GetPrivateLinkAccessGcpArgs) ToGetPrivateLinkAccessGcpOutput() GetPrivateLinkAccessGcpOutput { + return i.ToGetPrivateLinkAccessGcpOutputWithContext(context.Background()) +} + +func (i GetPrivateLinkAccessGcpArgs) ToGetPrivateLinkAccessGcpOutputWithContext(ctx context.Context) GetPrivateLinkAccessGcpOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPrivateLinkAccessGcpOutput) +} + +// GetPrivateLinkAccessGcpArrayInput is an input type that accepts GetPrivateLinkAccessGcpArray and GetPrivateLinkAccessGcpArrayOutput values. +// You can construct a concrete instance of `GetPrivateLinkAccessGcpArrayInput` via: +// +// GetPrivateLinkAccessGcpArray{ GetPrivateLinkAccessGcpArgs{...} } +type GetPrivateLinkAccessGcpArrayInput interface { + pulumi.Input + + ToGetPrivateLinkAccessGcpArrayOutput() GetPrivateLinkAccessGcpArrayOutput + ToGetPrivateLinkAccessGcpArrayOutputWithContext(context.Context) GetPrivateLinkAccessGcpArrayOutput +} + +type GetPrivateLinkAccessGcpArray []GetPrivateLinkAccessGcpInput + +func (GetPrivateLinkAccessGcpArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPrivateLinkAccessGcp)(nil)).Elem() +} + +func (i GetPrivateLinkAccessGcpArray) ToGetPrivateLinkAccessGcpArrayOutput() GetPrivateLinkAccessGcpArrayOutput { + return i.ToGetPrivateLinkAccessGcpArrayOutputWithContext(context.Background()) +} + +func (i GetPrivateLinkAccessGcpArray) ToGetPrivateLinkAccessGcpArrayOutputWithContext(ctx context.Context) GetPrivateLinkAccessGcpArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPrivateLinkAccessGcpArrayOutput) +} + +type GetPrivateLinkAccessGcpOutput struct{ *pulumi.OutputState } + +func (GetPrivateLinkAccessGcpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPrivateLinkAccessGcp)(nil)).Elem() +} + +func (o GetPrivateLinkAccessGcpOutput) ToGetPrivateLinkAccessGcpOutput() GetPrivateLinkAccessGcpOutput { + return o +} + +func (o GetPrivateLinkAccessGcpOutput) ToGetPrivateLinkAccessGcpOutputWithContext(ctx context.Context) GetPrivateLinkAccessGcpOutput { + return o +} + +// (Required String) The GCP project ID to allow for Private Service Connect access. You can find your Google Cloud Project ID under **Project ID** section of your [Google Cloud Console dashboard](https://console.cloud.google.com/home/dashboard). +func (o GetPrivateLinkAccessGcpOutput) Project() pulumi.StringOutput { + return o.ApplyT(func(v GetPrivateLinkAccessGcp) string { return v.Project }).(pulumi.StringOutput) +} + +type GetPrivateLinkAccessGcpArrayOutput struct{ *pulumi.OutputState } + +func (GetPrivateLinkAccessGcpArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPrivateLinkAccessGcp)(nil)).Elem() +} + +func (o GetPrivateLinkAccessGcpArrayOutput) ToGetPrivateLinkAccessGcpArrayOutput() GetPrivateLinkAccessGcpArrayOutput { + return o +} + +func (o GetPrivateLinkAccessGcpArrayOutput) ToGetPrivateLinkAccessGcpArrayOutputWithContext(ctx context.Context) GetPrivateLinkAccessGcpArrayOutput { + return o +} + +func (o GetPrivateLinkAccessGcpArrayOutput) Index(i pulumi.IntInput) GetPrivateLinkAccessGcpOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetPrivateLinkAccessGcp { + return vs[0].([]GetPrivateLinkAccessGcp)[vs[1].(int)] + }).(GetPrivateLinkAccessGcpOutput) +} + type GetPrivateLinkAccessNetwork struct { // The ID of the Environment that the Private Link Access belongs to, for example, `env-xyz456`. Id string `pulumi:"id"` @@ -5697,6 +6795,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*ConnectorEnvironmentPtrInput)(nil)).Elem(), ConnectorEnvironmentArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ConnectorKafkaClusterInput)(nil)).Elem(), ConnectorKafkaClusterArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ConnectorKafkaClusterPtrInput)(nil)).Elem(), ConnectorKafkaClusterArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IdentityPoolIdentityProviderInput)(nil)).Elem(), IdentityPoolIdentityProviderArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IdentityPoolIdentityProviderPtrInput)(nil)).Elem(), IdentityPoolIdentityProviderArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*KafkaAclCredentialsInput)(nil)).Elem(), KafkaAclCredentialsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*KafkaAclCredentialsPtrInput)(nil)).Elem(), KafkaAclCredentialsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*KafkaAclKafkaClusterInput)(nil)).Elem(), KafkaAclKafkaClusterArgs{}) @@ -5715,6 +6815,12 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*KafkaTopicCredentialsPtrInput)(nil)).Elem(), KafkaTopicCredentialsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*KafkaTopicKafkaClusterInput)(nil)).Elem(), KafkaTopicKafkaClusterArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*KafkaTopicKafkaClusterPtrInput)(nil)).Elem(), KafkaTopicKafkaClusterArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*KsqlClusterCredentialIdentityInput)(nil)).Elem(), KsqlClusterCredentialIdentityArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*KsqlClusterCredentialIdentityPtrInput)(nil)).Elem(), KsqlClusterCredentialIdentityArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*KsqlClusterEnvironmentInput)(nil)).Elem(), KsqlClusterEnvironmentArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*KsqlClusterEnvironmentPtrInput)(nil)).Elem(), KsqlClusterEnvironmentArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*KsqlClusterKafkaClusterInput)(nil)).Elem(), KsqlClusterKafkaClusterArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*KsqlClusterKafkaClusterPtrInput)(nil)).Elem(), KsqlClusterKafkaClusterArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*NetworkAwInput)(nil)).Elem(), NetworkAwArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*NetworkAwArrayInput)(nil)).Elem(), NetworkAwArray{}) pulumi.RegisterInputType(reflect.TypeOf((*NetworkAzureInput)(nil)).Elem(), NetworkAzureArgs{}) @@ -5739,8 +6845,11 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*PrivateLinkAccessAzurePtrInput)(nil)).Elem(), PrivateLinkAccessAzureArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*PrivateLinkAccessEnvironmentInput)(nil)).Elem(), PrivateLinkAccessEnvironmentArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*PrivateLinkAccessEnvironmentPtrInput)(nil)).Elem(), PrivateLinkAccessEnvironmentArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PrivateLinkAccessGcpInput)(nil)).Elem(), PrivateLinkAccessGcpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PrivateLinkAccessGcpPtrInput)(nil)).Elem(), PrivateLinkAccessGcpArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*PrivateLinkAccessNetworkInput)(nil)).Elem(), PrivateLinkAccessNetworkArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*PrivateLinkAccessNetworkPtrInput)(nil)).Elem(), PrivateLinkAccessNetworkArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIdentityPoolIdentityProviderInput)(nil)).Elem(), GetIdentityPoolIdentityProviderArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetKafkaClusterBasicInput)(nil)).Elem(), GetKafkaClusterBasicArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetKafkaClusterBasicArrayInput)(nil)).Elem(), GetKafkaClusterBasicArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetKafkaClusterDedicatedInput)(nil)).Elem(), GetKafkaClusterDedicatedArgs{}) @@ -5753,6 +6862,11 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GetKafkaTopicCredentialsInput)(nil)).Elem(), GetKafkaTopicCredentialsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetKafkaTopicCredentialsPtrInput)(nil)).Elem(), GetKafkaTopicCredentialsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetKafkaTopicKafkaClusterInput)(nil)).Elem(), GetKafkaTopicKafkaClusterArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetKsqlClusterCredentialIdentityInput)(nil)).Elem(), GetKsqlClusterCredentialIdentityArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetKsqlClusterCredentialIdentityArrayInput)(nil)).Elem(), GetKsqlClusterCredentialIdentityArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetKsqlClusterEnvironmentInput)(nil)).Elem(), GetKsqlClusterEnvironmentArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetKsqlClusterKafkaClusterInput)(nil)).Elem(), GetKsqlClusterKafkaClusterArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetKsqlClusterKafkaClusterArrayInput)(nil)).Elem(), GetKsqlClusterKafkaClusterArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetNetworkAwInput)(nil)).Elem(), GetNetworkAwArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetNetworkAwArrayInput)(nil)).Elem(), GetNetworkAwArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetNetworkAzureInput)(nil)).Elem(), GetNetworkAzureArgs{}) @@ -5774,6 +6888,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GetPrivateLinkAccessAzureInput)(nil)).Elem(), GetPrivateLinkAccessAzureArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetPrivateLinkAccessAzureArrayInput)(nil)).Elem(), GetPrivateLinkAccessAzureArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetPrivateLinkAccessEnvironmentInput)(nil)).Elem(), GetPrivateLinkAccessEnvironmentArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPrivateLinkAccessGcpInput)(nil)).Elem(), GetPrivateLinkAccessGcpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPrivateLinkAccessGcpArrayInput)(nil)).Elem(), GetPrivateLinkAccessGcpArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetPrivateLinkAccessNetworkInput)(nil)).Elem(), GetPrivateLinkAccessNetworkArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetPrivateLinkAccessNetworkArrayInput)(nil)).Elem(), GetPrivateLinkAccessNetworkArray{}) pulumi.RegisterOutputType(ApiKeyManagedResourceOutput{}) @@ -5786,6 +6902,8 @@ func init() { pulumi.RegisterOutputType(ConnectorEnvironmentPtrOutput{}) pulumi.RegisterOutputType(ConnectorKafkaClusterOutput{}) pulumi.RegisterOutputType(ConnectorKafkaClusterPtrOutput{}) + pulumi.RegisterOutputType(IdentityPoolIdentityProviderOutput{}) + pulumi.RegisterOutputType(IdentityPoolIdentityProviderPtrOutput{}) pulumi.RegisterOutputType(KafkaAclCredentialsOutput{}) pulumi.RegisterOutputType(KafkaAclCredentialsPtrOutput{}) pulumi.RegisterOutputType(KafkaAclKafkaClusterOutput{}) @@ -5804,6 +6922,12 @@ func init() { pulumi.RegisterOutputType(KafkaTopicCredentialsPtrOutput{}) pulumi.RegisterOutputType(KafkaTopicKafkaClusterOutput{}) pulumi.RegisterOutputType(KafkaTopicKafkaClusterPtrOutput{}) + pulumi.RegisterOutputType(KsqlClusterCredentialIdentityOutput{}) + pulumi.RegisterOutputType(KsqlClusterCredentialIdentityPtrOutput{}) + pulumi.RegisterOutputType(KsqlClusterEnvironmentOutput{}) + pulumi.RegisterOutputType(KsqlClusterEnvironmentPtrOutput{}) + pulumi.RegisterOutputType(KsqlClusterKafkaClusterOutput{}) + pulumi.RegisterOutputType(KsqlClusterKafkaClusterPtrOutput{}) pulumi.RegisterOutputType(NetworkAwOutput{}) pulumi.RegisterOutputType(NetworkAwArrayOutput{}) pulumi.RegisterOutputType(NetworkAzureOutput{}) @@ -5828,8 +6952,11 @@ func init() { pulumi.RegisterOutputType(PrivateLinkAccessAzurePtrOutput{}) pulumi.RegisterOutputType(PrivateLinkAccessEnvironmentOutput{}) pulumi.RegisterOutputType(PrivateLinkAccessEnvironmentPtrOutput{}) + pulumi.RegisterOutputType(PrivateLinkAccessGcpOutput{}) + pulumi.RegisterOutputType(PrivateLinkAccessGcpPtrOutput{}) pulumi.RegisterOutputType(PrivateLinkAccessNetworkOutput{}) pulumi.RegisterOutputType(PrivateLinkAccessNetworkPtrOutput{}) + pulumi.RegisterOutputType(GetIdentityPoolIdentityProviderOutput{}) pulumi.RegisterOutputType(GetKafkaClusterBasicOutput{}) pulumi.RegisterOutputType(GetKafkaClusterBasicArrayOutput{}) pulumi.RegisterOutputType(GetKafkaClusterDedicatedOutput{}) @@ -5842,6 +6969,11 @@ func init() { pulumi.RegisterOutputType(GetKafkaTopicCredentialsOutput{}) pulumi.RegisterOutputType(GetKafkaTopicCredentialsPtrOutput{}) pulumi.RegisterOutputType(GetKafkaTopicKafkaClusterOutput{}) + pulumi.RegisterOutputType(GetKsqlClusterCredentialIdentityOutput{}) + pulumi.RegisterOutputType(GetKsqlClusterCredentialIdentityArrayOutput{}) + pulumi.RegisterOutputType(GetKsqlClusterEnvironmentOutput{}) + pulumi.RegisterOutputType(GetKsqlClusterKafkaClusterOutput{}) + pulumi.RegisterOutputType(GetKsqlClusterKafkaClusterArrayOutput{}) pulumi.RegisterOutputType(GetNetworkAwOutput{}) pulumi.RegisterOutputType(GetNetworkAwArrayOutput{}) pulumi.RegisterOutputType(GetNetworkAzureOutput{}) @@ -5863,6 +6995,8 @@ func init() { pulumi.RegisterOutputType(GetPrivateLinkAccessAzureOutput{}) pulumi.RegisterOutputType(GetPrivateLinkAccessAzureArrayOutput{}) pulumi.RegisterOutputType(GetPrivateLinkAccessEnvironmentOutput{}) + pulumi.RegisterOutputType(GetPrivateLinkAccessGcpOutput{}) + pulumi.RegisterOutputType(GetPrivateLinkAccessGcpArrayOutput{}) pulumi.RegisterOutputType(GetPrivateLinkAccessNetworkOutput{}) pulumi.RegisterOutputType(GetPrivateLinkAccessNetworkArrayOutput{}) } diff --git a/sdk/java/src/main/java/com/pulumi/confluentcloud/ConfluentcloudFunctions.java b/sdk/java/src/main/java/com/pulumi/confluentcloud/ConfluentcloudFunctions.java index 74c47981..3b7e09ed 100644 --- a/sdk/java/src/main/java/com/pulumi/confluentcloud/ConfluentcloudFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/confluentcloud/ConfluentcloudFunctions.java @@ -6,10 +6,16 @@ import com.pulumi.confluentcloud.Utilities; import com.pulumi.confluentcloud.inputs.GetEnvironmentArgs; import com.pulumi.confluentcloud.inputs.GetEnvironmentPlainArgs; +import com.pulumi.confluentcloud.inputs.GetIdentityPoolArgs; +import com.pulumi.confluentcloud.inputs.GetIdentityPoolPlainArgs; +import com.pulumi.confluentcloud.inputs.GetIdentityProviderArgs; +import com.pulumi.confluentcloud.inputs.GetIdentityProviderPlainArgs; import com.pulumi.confluentcloud.inputs.GetKafkaClusterArgs; import com.pulumi.confluentcloud.inputs.GetKafkaClusterPlainArgs; import com.pulumi.confluentcloud.inputs.GetKafkaTopicArgs; import com.pulumi.confluentcloud.inputs.GetKafkaTopicPlainArgs; +import com.pulumi.confluentcloud.inputs.GetKsqlClusterArgs; +import com.pulumi.confluentcloud.inputs.GetKsqlClusterPlainArgs; import com.pulumi.confluentcloud.inputs.GetNetworkArgs; import com.pulumi.confluentcloud.inputs.GetNetworkPlainArgs; import com.pulumi.confluentcloud.inputs.GetPeeringArgs; @@ -23,8 +29,11 @@ import com.pulumi.confluentcloud.inputs.GetUserArgs; import com.pulumi.confluentcloud.inputs.GetUserPlainArgs; import com.pulumi.confluentcloud.outputs.GetEnvironmentResult; +import com.pulumi.confluentcloud.outputs.GetIdentityPoolResult; +import com.pulumi.confluentcloud.outputs.GetIdentityProviderResult; import com.pulumi.confluentcloud.outputs.GetKafkaClusterResult; import com.pulumi.confluentcloud.outputs.GetKafkaTopicResult; +import com.pulumi.confluentcloud.outputs.GetKsqlClusterResult; import com.pulumi.confluentcloud.outputs.GetNetworkResult; import com.pulumi.confluentcloud.outputs.GetOrganizationResult; import com.pulumi.confluentcloud.outputs.GetPeeringResult; @@ -382,6 +391,484 @@ public static Output getEnvironment(GetEnvironmentArgs arg public static CompletableFuture getEnvironmentPlain(GetEnvironmentPlainArgs args, InvokeOptions options) { return Deployment.getInstance().invokeAsync("confluentcloud:index/getEnvironment:getEnvironment", TypeShape.of(GetEnvironmentResult.class), args, Utilities.withVersion(options)); } + /** + * [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy) [![Request Access To OAuth API](https://img.shields.io/badge/-Request%20Access%20To%20OAuth%20API-%23bc8540)](mailto:ccloud-api-access+iam-v2-closed-preview@confluent.io?subject=Request%20to%20join%20OAuth%20API%20Closed%20Preview&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Closed%20Preview%20for%20iam/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + * + * `confluentcloud.IdentityPool` describes an Identity Pool data source. + * + * ## Example Usage + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.confluentcloud.ConfluentcloudFunctions; + * import com.pulumi.confluentcloud.inputs.GetIdentityPoolArgs; + * import com.pulumi.confluentcloud.inputs.GetIdentityPoolIdentityProviderArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * final var exampleUsingIdIdentityPool = ConfluentcloudFunctions.getIdentityPool(GetIdentityPoolArgs.builder() + * .id("pool-xyz456") + * .identityProvider(GetIdentityPoolIdentityProviderArgs.builder() + * .id("op-abc123") + * .build()) + * .build()); + * + * ctx.export("exampleUsingId", exampleUsingIdIdentityPool.applyValue(getIdentityPoolResult -> getIdentityPoolResult)); + * final var exampleUsingNameIdentityPool = ConfluentcloudFunctions.getIdentityPool(GetIdentityPoolArgs.builder() + * .displayName("My Identity Pool") + * .identityProvider(GetIdentityPoolIdentityProviderArgs.builder() + * .id("op-abc123") + * .build()) + * .build()); + * + * ctx.export("exampleUsingName", exampleUsingNameIdentityPool.applyValue(getIdentityPoolResult -> getIdentityPoolResult)); + * } + * } + * ``` + * + */ + public static Output getIdentityPool(GetIdentityPoolArgs args) { + return getIdentityPool(args, InvokeOptions.Empty); + } + /** + * [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy) [![Request Access To OAuth API](https://img.shields.io/badge/-Request%20Access%20To%20OAuth%20API-%23bc8540)](mailto:ccloud-api-access+iam-v2-closed-preview@confluent.io?subject=Request%20to%20join%20OAuth%20API%20Closed%20Preview&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Closed%20Preview%20for%20iam/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + * + * `confluentcloud.IdentityPool` describes an Identity Pool data source. + * + * ## Example Usage + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.confluentcloud.ConfluentcloudFunctions; + * import com.pulumi.confluentcloud.inputs.GetIdentityPoolArgs; + * import com.pulumi.confluentcloud.inputs.GetIdentityPoolIdentityProviderArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * final var exampleUsingIdIdentityPool = ConfluentcloudFunctions.getIdentityPool(GetIdentityPoolArgs.builder() + * .id("pool-xyz456") + * .identityProvider(GetIdentityPoolIdentityProviderArgs.builder() + * .id("op-abc123") + * .build()) + * .build()); + * + * ctx.export("exampleUsingId", exampleUsingIdIdentityPool.applyValue(getIdentityPoolResult -> getIdentityPoolResult)); + * final var exampleUsingNameIdentityPool = ConfluentcloudFunctions.getIdentityPool(GetIdentityPoolArgs.builder() + * .displayName("My Identity Pool") + * .identityProvider(GetIdentityPoolIdentityProviderArgs.builder() + * .id("op-abc123") + * .build()) + * .build()); + * + * ctx.export("exampleUsingName", exampleUsingNameIdentityPool.applyValue(getIdentityPoolResult -> getIdentityPoolResult)); + * } + * } + * ``` + * + */ + public static CompletableFuture getIdentityPoolPlain(GetIdentityPoolPlainArgs args) { + return getIdentityPoolPlain(args, InvokeOptions.Empty); + } + /** + * [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy) [![Request Access To OAuth API](https://img.shields.io/badge/-Request%20Access%20To%20OAuth%20API-%23bc8540)](mailto:ccloud-api-access+iam-v2-closed-preview@confluent.io?subject=Request%20to%20join%20OAuth%20API%20Closed%20Preview&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Closed%20Preview%20for%20iam/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + * + * `confluentcloud.IdentityPool` describes an Identity Pool data source. + * + * ## Example Usage + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.confluentcloud.ConfluentcloudFunctions; + * import com.pulumi.confluentcloud.inputs.GetIdentityPoolArgs; + * import com.pulumi.confluentcloud.inputs.GetIdentityPoolIdentityProviderArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * final var exampleUsingIdIdentityPool = ConfluentcloudFunctions.getIdentityPool(GetIdentityPoolArgs.builder() + * .id("pool-xyz456") + * .identityProvider(GetIdentityPoolIdentityProviderArgs.builder() + * .id("op-abc123") + * .build()) + * .build()); + * + * ctx.export("exampleUsingId", exampleUsingIdIdentityPool.applyValue(getIdentityPoolResult -> getIdentityPoolResult)); + * final var exampleUsingNameIdentityPool = ConfluentcloudFunctions.getIdentityPool(GetIdentityPoolArgs.builder() + * .displayName("My Identity Pool") + * .identityProvider(GetIdentityPoolIdentityProviderArgs.builder() + * .id("op-abc123") + * .build()) + * .build()); + * + * ctx.export("exampleUsingName", exampleUsingNameIdentityPool.applyValue(getIdentityPoolResult -> getIdentityPoolResult)); + * } + * } + * ``` + * + */ + public static Output getIdentityPool(GetIdentityPoolArgs args, InvokeOptions options) { + return Deployment.getInstance().invoke("confluentcloud:index/getIdentityPool:getIdentityPool", TypeShape.of(GetIdentityPoolResult.class), args, Utilities.withVersion(options)); + } + /** + * [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy) [![Request Access To OAuth API](https://img.shields.io/badge/-Request%20Access%20To%20OAuth%20API-%23bc8540)](mailto:ccloud-api-access+iam-v2-closed-preview@confluent.io?subject=Request%20to%20join%20OAuth%20API%20Closed%20Preview&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Closed%20Preview%20for%20iam/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + * + * `confluentcloud.IdentityPool` describes an Identity Pool data source. + * + * ## Example Usage + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.confluentcloud.ConfluentcloudFunctions; + * import com.pulumi.confluentcloud.inputs.GetIdentityPoolArgs; + * import com.pulumi.confluentcloud.inputs.GetIdentityPoolIdentityProviderArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * final var exampleUsingIdIdentityPool = ConfluentcloudFunctions.getIdentityPool(GetIdentityPoolArgs.builder() + * .id("pool-xyz456") + * .identityProvider(GetIdentityPoolIdentityProviderArgs.builder() + * .id("op-abc123") + * .build()) + * .build()); + * + * ctx.export("exampleUsingId", exampleUsingIdIdentityPool.applyValue(getIdentityPoolResult -> getIdentityPoolResult)); + * final var exampleUsingNameIdentityPool = ConfluentcloudFunctions.getIdentityPool(GetIdentityPoolArgs.builder() + * .displayName("My Identity Pool") + * .identityProvider(GetIdentityPoolIdentityProviderArgs.builder() + * .id("op-abc123") + * .build()) + * .build()); + * + * ctx.export("exampleUsingName", exampleUsingNameIdentityPool.applyValue(getIdentityPoolResult -> getIdentityPoolResult)); + * } + * } + * ``` + * + */ + public static CompletableFuture getIdentityPoolPlain(GetIdentityPoolPlainArgs args, InvokeOptions options) { + return Deployment.getInstance().invokeAsync("confluentcloud:index/getIdentityPool:getIdentityPool", TypeShape.of(GetIdentityPoolResult.class), args, Utilities.withVersion(options)); + } + /** + * [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy) [![Request Access To OAuth API](https://img.shields.io/badge/-Request%20Access%20To%20OAuth%20API-%23bc8540)](mailto:ccloud-api-access+iam-v2-closed-preview@confluent.io?subject=Request%20to%20join%20OAuth%20API%20Closed%20Preview&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Closed%20Preview%20for%20iam/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + * + * `confluentcloud.IdentityProvider` describes an Identity Provider data source. + * + * ## Example Usage + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.confluentcloud.ConfluentcloudFunctions; + * import com.pulumi.confluentcloud.inputs.GetIdentityProviderArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * final var exampleUsingIdIdentityProvider = ConfluentcloudFunctions.getIdentityProvider(GetIdentityProviderArgs.builder() + * .id("op-abc123") + * .build()); + * + * ctx.export("exampleUsingId", exampleUsingIdIdentityProvider.applyValue(getIdentityProviderResult -> getIdentityProviderResult)); + * final var exampleUsingNameIdentityProvider = ConfluentcloudFunctions.getIdentityProvider(GetIdentityProviderArgs.builder() + * .displayName("My OIDC Provider: Azure AD") + * .build()); + * + * ctx.export("exampleUsingName", exampleUsingNameIdentityProvider.applyValue(getIdentityProviderResult -> getIdentityProviderResult)); + * } + * } + * ``` + * + */ + public static Output getIdentityProvider() { + return getIdentityProvider(GetIdentityProviderArgs.Empty, InvokeOptions.Empty); + } + /** + * [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy) [![Request Access To OAuth API](https://img.shields.io/badge/-Request%20Access%20To%20OAuth%20API-%23bc8540)](mailto:ccloud-api-access+iam-v2-closed-preview@confluent.io?subject=Request%20to%20join%20OAuth%20API%20Closed%20Preview&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Closed%20Preview%20for%20iam/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + * + * `confluentcloud.IdentityProvider` describes an Identity Provider data source. + * + * ## Example Usage + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.confluentcloud.ConfluentcloudFunctions; + * import com.pulumi.confluentcloud.inputs.GetIdentityProviderArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * final var exampleUsingIdIdentityProvider = ConfluentcloudFunctions.getIdentityProvider(GetIdentityProviderArgs.builder() + * .id("op-abc123") + * .build()); + * + * ctx.export("exampleUsingId", exampleUsingIdIdentityProvider.applyValue(getIdentityProviderResult -> getIdentityProviderResult)); + * final var exampleUsingNameIdentityProvider = ConfluentcloudFunctions.getIdentityProvider(GetIdentityProviderArgs.builder() + * .displayName("My OIDC Provider: Azure AD") + * .build()); + * + * ctx.export("exampleUsingName", exampleUsingNameIdentityProvider.applyValue(getIdentityProviderResult -> getIdentityProviderResult)); + * } + * } + * ``` + * + */ + public static CompletableFuture getIdentityProviderPlain() { + return getIdentityProviderPlain(GetIdentityProviderPlainArgs.Empty, InvokeOptions.Empty); + } + /** + * [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy) [![Request Access To OAuth API](https://img.shields.io/badge/-Request%20Access%20To%20OAuth%20API-%23bc8540)](mailto:ccloud-api-access+iam-v2-closed-preview@confluent.io?subject=Request%20to%20join%20OAuth%20API%20Closed%20Preview&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Closed%20Preview%20for%20iam/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + * + * `confluentcloud.IdentityProvider` describes an Identity Provider data source. + * + * ## Example Usage + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.confluentcloud.ConfluentcloudFunctions; + * import com.pulumi.confluentcloud.inputs.GetIdentityProviderArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * final var exampleUsingIdIdentityProvider = ConfluentcloudFunctions.getIdentityProvider(GetIdentityProviderArgs.builder() + * .id("op-abc123") + * .build()); + * + * ctx.export("exampleUsingId", exampleUsingIdIdentityProvider.applyValue(getIdentityProviderResult -> getIdentityProviderResult)); + * final var exampleUsingNameIdentityProvider = ConfluentcloudFunctions.getIdentityProvider(GetIdentityProviderArgs.builder() + * .displayName("My OIDC Provider: Azure AD") + * .build()); + * + * ctx.export("exampleUsingName", exampleUsingNameIdentityProvider.applyValue(getIdentityProviderResult -> getIdentityProviderResult)); + * } + * } + * ``` + * + */ + public static Output getIdentityProvider(GetIdentityProviderArgs args) { + return getIdentityProvider(args, InvokeOptions.Empty); + } + /** + * [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy) [![Request Access To OAuth API](https://img.shields.io/badge/-Request%20Access%20To%20OAuth%20API-%23bc8540)](mailto:ccloud-api-access+iam-v2-closed-preview@confluent.io?subject=Request%20to%20join%20OAuth%20API%20Closed%20Preview&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Closed%20Preview%20for%20iam/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + * + * `confluentcloud.IdentityProvider` describes an Identity Provider data source. + * + * ## Example Usage + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.confluentcloud.ConfluentcloudFunctions; + * import com.pulumi.confluentcloud.inputs.GetIdentityProviderArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * final var exampleUsingIdIdentityProvider = ConfluentcloudFunctions.getIdentityProvider(GetIdentityProviderArgs.builder() + * .id("op-abc123") + * .build()); + * + * ctx.export("exampleUsingId", exampleUsingIdIdentityProvider.applyValue(getIdentityProviderResult -> getIdentityProviderResult)); + * final var exampleUsingNameIdentityProvider = ConfluentcloudFunctions.getIdentityProvider(GetIdentityProviderArgs.builder() + * .displayName("My OIDC Provider: Azure AD") + * .build()); + * + * ctx.export("exampleUsingName", exampleUsingNameIdentityProvider.applyValue(getIdentityProviderResult -> getIdentityProviderResult)); + * } + * } + * ``` + * + */ + public static CompletableFuture getIdentityProviderPlain(GetIdentityProviderPlainArgs args) { + return getIdentityProviderPlain(args, InvokeOptions.Empty); + } + /** + * [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy) [![Request Access To OAuth API](https://img.shields.io/badge/-Request%20Access%20To%20OAuth%20API-%23bc8540)](mailto:ccloud-api-access+iam-v2-closed-preview@confluent.io?subject=Request%20to%20join%20OAuth%20API%20Closed%20Preview&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Closed%20Preview%20for%20iam/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + * + * `confluentcloud.IdentityProvider` describes an Identity Provider data source. + * + * ## Example Usage + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.confluentcloud.ConfluentcloudFunctions; + * import com.pulumi.confluentcloud.inputs.GetIdentityProviderArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * final var exampleUsingIdIdentityProvider = ConfluentcloudFunctions.getIdentityProvider(GetIdentityProviderArgs.builder() + * .id("op-abc123") + * .build()); + * + * ctx.export("exampleUsingId", exampleUsingIdIdentityProvider.applyValue(getIdentityProviderResult -> getIdentityProviderResult)); + * final var exampleUsingNameIdentityProvider = ConfluentcloudFunctions.getIdentityProvider(GetIdentityProviderArgs.builder() + * .displayName("My OIDC Provider: Azure AD") + * .build()); + * + * ctx.export("exampleUsingName", exampleUsingNameIdentityProvider.applyValue(getIdentityProviderResult -> getIdentityProviderResult)); + * } + * } + * ``` + * + */ + public static Output getIdentityProvider(GetIdentityProviderArgs args, InvokeOptions options) { + return Deployment.getInstance().invoke("confluentcloud:index/getIdentityProvider:getIdentityProvider", TypeShape.of(GetIdentityProviderResult.class), args, Utilities.withVersion(options)); + } + /** + * [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy) [![Request Access To OAuth API](https://img.shields.io/badge/-Request%20Access%20To%20OAuth%20API-%23bc8540)](mailto:ccloud-api-access+iam-v2-closed-preview@confluent.io?subject=Request%20to%20join%20OAuth%20API%20Closed%20Preview&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Closed%20Preview%20for%20iam/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + * + * `confluentcloud.IdentityProvider` describes an Identity Provider data source. + * + * ## Example Usage + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.confluentcloud.ConfluentcloudFunctions; + * import com.pulumi.confluentcloud.inputs.GetIdentityProviderArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * final var exampleUsingIdIdentityProvider = ConfluentcloudFunctions.getIdentityProvider(GetIdentityProviderArgs.builder() + * .id("op-abc123") + * .build()); + * + * ctx.export("exampleUsingId", exampleUsingIdIdentityProvider.applyValue(getIdentityProviderResult -> getIdentityProviderResult)); + * final var exampleUsingNameIdentityProvider = ConfluentcloudFunctions.getIdentityProvider(GetIdentityProviderArgs.builder() + * .displayName("My OIDC Provider: Azure AD") + * .build()); + * + * ctx.export("exampleUsingName", exampleUsingNameIdentityProvider.applyValue(getIdentityProviderResult -> getIdentityProviderResult)); + * } + * } + * ``` + * + */ + public static CompletableFuture getIdentityProviderPlain(GetIdentityProviderPlainArgs args, InvokeOptions options) { + return Deployment.getInstance().invokeAsync("confluentcloud:index/getIdentityProvider:getIdentityProvider", TypeShape.of(GetIdentityProviderResult.class), args, Utilities.withVersion(options)); + } /** * [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy) * @@ -810,6 +1297,222 @@ public static Output getKafkaTopic(GetKafkaTopicArgs args, public static CompletableFuture getKafkaTopicPlain(GetKafkaTopicPlainArgs args, InvokeOptions options) { return Deployment.getInstance().invokeAsync("confluentcloud:index/getKafkaTopic:getKafkaTopic", TypeShape.of(GetKafkaTopicResult.class), args, Utilities.withVersion(options)); } + /** + * ## # confluentcloud.KsqlCluster Data Source + * + * [![Open Preview](https://img.shields.io/badge/Lifecycle%20Stage-Open%20Preview-%2300afba)](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy) + * + * `confluentcloud.KsqlCluster` describes a ksqlDB cluster data source. + * + * ## Example Usage + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.confluentcloud.ConfluentcloudFunctions; + * import com.pulumi.confluentcloud.inputs.GetKsqlClusterArgs; + * import com.pulumi.confluentcloud.inputs.GetKsqlClusterEnvironmentArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * final var exampleUsingIdKsqlCluster = ConfluentcloudFunctions.getKsqlCluster(GetKsqlClusterArgs.builder() + * .id("lksqlc-abc123") + * .environment(GetKsqlClusterEnvironmentArgs.builder() + * .id("env-xyz456") + * .build()) + * .build()); + * + * ctx.export("exampleUsingId", exampleUsingIdKsqlCluster.applyValue(getKsqlClusterResult -> getKsqlClusterResult)); + * final var exampleUsingNameKsqlCluster = ConfluentcloudFunctions.getKsqlCluster(GetKsqlClusterArgs.builder() + * .displayName("ksqldb_cluster") + * .environment(GetKsqlClusterEnvironmentArgs.builder() + * .id("env-xyz456") + * .build()) + * .build()); + * + * ctx.export("exampleUsingName", exampleUsingNameKsqlCluster.applyValue(getKsqlClusterResult -> getKsqlClusterResult)); + * } + * } + * ``` + * + */ + public static Output getKsqlCluster(GetKsqlClusterArgs args) { + return getKsqlCluster(args, InvokeOptions.Empty); + } + /** + * ## # confluentcloud.KsqlCluster Data Source + * + * [![Open Preview](https://img.shields.io/badge/Lifecycle%20Stage-Open%20Preview-%2300afba)](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy) + * + * `confluentcloud.KsqlCluster` describes a ksqlDB cluster data source. + * + * ## Example Usage + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.confluentcloud.ConfluentcloudFunctions; + * import com.pulumi.confluentcloud.inputs.GetKsqlClusterArgs; + * import com.pulumi.confluentcloud.inputs.GetKsqlClusterEnvironmentArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * final var exampleUsingIdKsqlCluster = ConfluentcloudFunctions.getKsqlCluster(GetKsqlClusterArgs.builder() + * .id("lksqlc-abc123") + * .environment(GetKsqlClusterEnvironmentArgs.builder() + * .id("env-xyz456") + * .build()) + * .build()); + * + * ctx.export("exampleUsingId", exampleUsingIdKsqlCluster.applyValue(getKsqlClusterResult -> getKsqlClusterResult)); + * final var exampleUsingNameKsqlCluster = ConfluentcloudFunctions.getKsqlCluster(GetKsqlClusterArgs.builder() + * .displayName("ksqldb_cluster") + * .environment(GetKsqlClusterEnvironmentArgs.builder() + * .id("env-xyz456") + * .build()) + * .build()); + * + * ctx.export("exampleUsingName", exampleUsingNameKsqlCluster.applyValue(getKsqlClusterResult -> getKsqlClusterResult)); + * } + * } + * ``` + * + */ + public static CompletableFuture getKsqlClusterPlain(GetKsqlClusterPlainArgs args) { + return getKsqlClusterPlain(args, InvokeOptions.Empty); + } + /** + * ## # confluentcloud.KsqlCluster Data Source + * + * [![Open Preview](https://img.shields.io/badge/Lifecycle%20Stage-Open%20Preview-%2300afba)](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy) + * + * `confluentcloud.KsqlCluster` describes a ksqlDB cluster data source. + * + * ## Example Usage + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.confluentcloud.ConfluentcloudFunctions; + * import com.pulumi.confluentcloud.inputs.GetKsqlClusterArgs; + * import com.pulumi.confluentcloud.inputs.GetKsqlClusterEnvironmentArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * final var exampleUsingIdKsqlCluster = ConfluentcloudFunctions.getKsqlCluster(GetKsqlClusterArgs.builder() + * .id("lksqlc-abc123") + * .environment(GetKsqlClusterEnvironmentArgs.builder() + * .id("env-xyz456") + * .build()) + * .build()); + * + * ctx.export("exampleUsingId", exampleUsingIdKsqlCluster.applyValue(getKsqlClusterResult -> getKsqlClusterResult)); + * final var exampleUsingNameKsqlCluster = ConfluentcloudFunctions.getKsqlCluster(GetKsqlClusterArgs.builder() + * .displayName("ksqldb_cluster") + * .environment(GetKsqlClusterEnvironmentArgs.builder() + * .id("env-xyz456") + * .build()) + * .build()); + * + * ctx.export("exampleUsingName", exampleUsingNameKsqlCluster.applyValue(getKsqlClusterResult -> getKsqlClusterResult)); + * } + * } + * ``` + * + */ + public static Output getKsqlCluster(GetKsqlClusterArgs args, InvokeOptions options) { + return Deployment.getInstance().invoke("confluentcloud:index/getKsqlCluster:getKsqlCluster", TypeShape.of(GetKsqlClusterResult.class), args, Utilities.withVersion(options)); + } + /** + * ## # confluentcloud.KsqlCluster Data Source + * + * [![Open Preview](https://img.shields.io/badge/Lifecycle%20Stage-Open%20Preview-%2300afba)](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy) + * + * `confluentcloud.KsqlCluster` describes a ksqlDB cluster data source. + * + * ## Example Usage + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.confluentcloud.ConfluentcloudFunctions; + * import com.pulumi.confluentcloud.inputs.GetKsqlClusterArgs; + * import com.pulumi.confluentcloud.inputs.GetKsqlClusterEnvironmentArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * final var exampleUsingIdKsqlCluster = ConfluentcloudFunctions.getKsqlCluster(GetKsqlClusterArgs.builder() + * .id("lksqlc-abc123") + * .environment(GetKsqlClusterEnvironmentArgs.builder() + * .id("env-xyz456") + * .build()) + * .build()); + * + * ctx.export("exampleUsingId", exampleUsingIdKsqlCluster.applyValue(getKsqlClusterResult -> getKsqlClusterResult)); + * final var exampleUsingNameKsqlCluster = ConfluentcloudFunctions.getKsqlCluster(GetKsqlClusterArgs.builder() + * .displayName("ksqldb_cluster") + * .environment(GetKsqlClusterEnvironmentArgs.builder() + * .id("env-xyz456") + * .build()) + * .build()); + * + * ctx.export("exampleUsingName", exampleUsingNameKsqlCluster.applyValue(getKsqlClusterResult -> getKsqlClusterResult)); + * } + * } + * ``` + * + */ + public static CompletableFuture getKsqlClusterPlain(GetKsqlClusterPlainArgs args, InvokeOptions options) { + return Deployment.getInstance().invokeAsync("confluentcloud:index/getKsqlCluster:getKsqlCluster", TypeShape.of(GetKsqlClusterResult.class), args, Utilities.withVersion(options)); + } /** * [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy) * diff --git a/sdk/java/src/main/java/com/pulumi/confluentcloud/IdentityPool.java b/sdk/java/src/main/java/com/pulumi/confluentcloud/IdentityPool.java new file mode 100644 index 00000000..8e6c944c --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/confluentcloud/IdentityPool.java @@ -0,0 +1,252 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.confluentcloud; + +import com.pulumi.confluentcloud.IdentityPoolArgs; +import com.pulumi.confluentcloud.Utilities; +import com.pulumi.confluentcloud.inputs.IdentityPoolState; +import com.pulumi.confluentcloud.outputs.IdentityPoolIdentityProvider; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Export; +import com.pulumi.core.annotations.ResourceType; +import com.pulumi.core.internal.Codegen; +import java.lang.String; +import javax.annotation.Nullable; + +/** + * [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy) [![Request Access To OAuth API](https://img.shields.io/badge/-Request%20Access%20To%20OAuth%20API-%23bc8540)](mailto:ccloud-api-access+iam-v2-closed-preview@confluent.io?subject=Request%20to%20join%20OAuth%20API%20Closed%20Preview&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Closed%20Preview%20for%20iam/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + * + * > **Note:** `confluentcloud.IdentityPool` resource is available in a **Limited Availability** for early adopters. Limited Availability features are introduced to gather customer feedback. This feature should be used only for evaluation and non-production testing purposes or to provide feedback to Confluent, particularly as it becomes more widely available in follow-on editions.\ + * **Limited Availability** features are intended for evaluation use in development and testing environments only, and not for production use. The warranty, SLA, and Support Services provisions of your agreement with Confluent do not apply to Limited Availability features. Limited Availability features are considered to be a Proof of Concept as defined in the Confluent Cloud Terms of Service. Confluent may discontinue providing preview releases of the Limited Availability features at any time in Confluent’s sole discretion. + * + * `confluentcloud.IdentityPool` provides an Identity Pool resource that enables creating, editing, and deleting identity pools on Confluent Cloud. + * + * ## Example Usage + * ### Example Identity Pool to be used with Azure AD + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.confluentcloud.IdentityProvider; + * import com.pulumi.confluentcloud.IdentityProviderArgs; + * import com.pulumi.confluentcloud.IdentityPool; + * import com.pulumi.confluentcloud.IdentityPoolArgs; + * import com.pulumi.confluentcloud.inputs.IdentityPoolIdentityProviderArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * var azure = new IdentityProvider("azure", IdentityProviderArgs.builder() + * .displayName("My OIDC Provider: Azure AD") + * .description("My description") + * .issuer("https://login.microsoftonline.com/{tenant_id}/v2.0") + * .jwksUri("https://login.microsoftonline.com/common/discovery/v2.0/keys") + * .build()); + * + * var example = new IdentityPool("example", IdentityPoolArgs.builder() + * .identityProvider(IdentityPoolIdentityProviderArgs.builder() + * .id(azure.id()) + * .build()) + * .displayName("My Identity Pool") + * .description("Prod Access to Kafka clusters to Release Engineering") + * .identityClaim("claims.sub") + * .filter("claims.aud==\"confluent\" && claims.group!=\"invalid_group\"") + * .build()); + * + * } + * } + * ``` + * ### Example Identity Pool to be used with Okta + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.confluentcloud.IdentityProvider; + * import com.pulumi.confluentcloud.IdentityProviderArgs; + * import com.pulumi.confluentcloud.IdentityPool; + * import com.pulumi.confluentcloud.IdentityPoolArgs; + * import com.pulumi.confluentcloud.inputs.IdentityPoolIdentityProviderArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * var okta = new IdentityProvider("okta", IdentityProviderArgs.builder() + * .displayName("My OIDC Provider: Okta") + * .description("My description") + * .issuer("https://mycompany.okta.com/oauth2/default") + * .jwksUri("https://mycompany.okta.com/oauth2/default/v1/keys") + * .build()); + * + * var example = new IdentityPool("example", IdentityPoolArgs.builder() + * .identityProvider(IdentityPoolIdentityProviderArgs.builder() + * .id(okta.id()) + * .build()) + * .displayName("My Identity Pool") + * .description("Prod Access to Kafka clusters to Release Engineering") + * .identityClaim("claims.sub") + * .filter("claims.aud==\"confluent\" && claims.group!=\"invalid_group\"") + * .build()); + * + * } + * } + * ``` + * ## External Documentation + * + * * [Use identity pools with your OAuth provider](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html). + * + * ## Import + * + * You can import an Identity Pool by using Identity Provider ID and Identity Pool ID, in the format `<Identity Provider ID>/<Identity Pool ID>`. The following example shows how to import an Identity Pool$ export CONFLUENT_CLOUD_API_KEY="<cloud_api_key>" $ export CONFLUENT_CLOUD_API_SECRET="<cloud_api_secret>" + * + * ```sh + * $ pulumi import confluentcloud:index/identityPool:IdentityPool example op-abc123/pool-xyz456 + * ``` + * + * !> **Warning:** Do not forget to delete terminal command history afterwards for security purposes. + * + */ +@ResourceType(type="confluentcloud:index/identityPool:IdentityPool") +public class IdentityPool extends com.pulumi.resources.CustomResource { + /** + * A description for the Identity Pool. + * + */ + @Export(name="description", type=String.class, parameters={}) + private Output description; + + /** + * @return A description for the Identity Pool. + * + */ + public Output description() { + return this.description; + } + /** + * A human-readable name for the Identity Pool. + * + */ + @Export(name="displayName", type=String.class, parameters={}) + private Output displayName; + + /** + * @return A human-readable name for the Identity Pool. + * + */ + public Output displayName() { + return this.displayName; + } + /** + * A filter expression in [Supported Common Expression Language (CEL)](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html#supported-common-expression-language-cel-filters) that specifies which identities can authenticate using your identity pool (see [Set identity pool filters](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html#set-identity-pool-filters) for more details). + * + */ + @Export(name="filter", type=String.class, parameters={}) + private Output filter; + + /** + * @return A filter expression in [Supported Common Expression Language (CEL)](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html#supported-common-expression-language-cel-filters) that specifies which identities can authenticate using your identity pool (see [Set identity pool filters](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html#set-identity-pool-filters) for more details). + * + */ + public Output filter() { + return this.filter; + } + /** + * The JSON Web Token (JWT) claim to extract the authenticating identity to Confluent resources from (see [Registered Claim Names](https://datatracker.ietf.org/doc/html/rfc7519#section-4.1) for more details). This appears in the audit log records, showing, for example, that "identity Z used identity pool X to access topic A". + * + */ + @Export(name="identityClaim", type=String.class, parameters={}) + private Output identityClaim; + + /** + * @return The JSON Web Token (JWT) claim to extract the authenticating identity to Confluent resources from (see [Registered Claim Names](https://datatracker.ietf.org/doc/html/rfc7519#section-4.1) for more details). This appears in the audit log records, showing, for example, that "identity Z used identity pool X to access topic A". + * + */ + public Output identityClaim() { + return this.identityClaim; + } + /** + * Identity Provider objects represent external OAuth/OpenID Connect providers within Confluent Cloud. + * + */ + @Export(name="identityProvider", type=IdentityPoolIdentityProvider.class, parameters={}) + private Output identityProvider; + + /** + * @return Identity Provider objects represent external OAuth/OpenID Connect providers within Confluent Cloud. + * + */ + public Output identityProvider() { + return this.identityProvider; + } + + /** + * + * @param name The _unique_ name of the resulting resource. + */ + public IdentityPool(String name) { + this(name, IdentityPoolArgs.Empty); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + */ + public IdentityPool(String name, IdentityPoolArgs args) { + this(name, args, null); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + * @param options A bag of options that control this resource's behavior. + */ + public IdentityPool(String name, IdentityPoolArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("confluentcloud:index/identityPool:IdentityPool", name, args == null ? IdentityPoolArgs.Empty : args, makeResourceOptions(options, Codegen.empty())); + } + + private IdentityPool(String name, Output id, @Nullable IdentityPoolState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("confluentcloud:index/identityPool:IdentityPool", name, state, makeResourceOptions(options, id)); + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() + .version(Utilities.getVersion()) + .build(); + return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id); + } + + /** + * Get an existing Host resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state + * @param options Optional settings to control the behavior of the CustomResource. + */ + public static IdentityPool get(String name, Output id, @Nullable IdentityPoolState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + return new IdentityPool(name, id, state, options); + } +} diff --git a/sdk/java/src/main/java/com/pulumi/confluentcloud/IdentityPoolArgs.java b/sdk/java/src/main/java/com/pulumi/confluentcloud/IdentityPoolArgs.java new file mode 100644 index 00000000..d8685b49 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/confluentcloud/IdentityPoolArgs.java @@ -0,0 +1,235 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.confluentcloud; + +import com.pulumi.confluentcloud.inputs.IdentityPoolIdentityProviderArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; + + +public final class IdentityPoolArgs extends com.pulumi.resources.ResourceArgs { + + public static final IdentityPoolArgs Empty = new IdentityPoolArgs(); + + /** + * A description for the Identity Pool. + * + */ + @Import(name="description", required=true) + private Output description; + + /** + * @return A description for the Identity Pool. + * + */ + public Output description() { + return this.description; + } + + /** + * A human-readable name for the Identity Pool. + * + */ + @Import(name="displayName", required=true) + private Output displayName; + + /** + * @return A human-readable name for the Identity Pool. + * + */ + public Output displayName() { + return this.displayName; + } + + /** + * A filter expression in [Supported Common Expression Language (CEL)](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html#supported-common-expression-language-cel-filters) that specifies which identities can authenticate using your identity pool (see [Set identity pool filters](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html#set-identity-pool-filters) for more details). + * + */ + @Import(name="filter", required=true) + private Output filter; + + /** + * @return A filter expression in [Supported Common Expression Language (CEL)](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html#supported-common-expression-language-cel-filters) that specifies which identities can authenticate using your identity pool (see [Set identity pool filters](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html#set-identity-pool-filters) for more details). + * + */ + public Output filter() { + return this.filter; + } + + /** + * The JSON Web Token (JWT) claim to extract the authenticating identity to Confluent resources from (see [Registered Claim Names](https://datatracker.ietf.org/doc/html/rfc7519#section-4.1) for more details). This appears in the audit log records, showing, for example, that "identity Z used identity pool X to access topic A". + * + */ + @Import(name="identityClaim", required=true) + private Output identityClaim; + + /** + * @return The JSON Web Token (JWT) claim to extract the authenticating identity to Confluent resources from (see [Registered Claim Names](https://datatracker.ietf.org/doc/html/rfc7519#section-4.1) for more details). This appears in the audit log records, showing, for example, that "identity Z used identity pool X to access topic A". + * + */ + public Output identityClaim() { + return this.identityClaim; + } + + /** + * Identity Provider objects represent external OAuth/OpenID Connect providers within Confluent Cloud. + * + */ + @Import(name="identityProvider", required=true) + private Output identityProvider; + + /** + * @return Identity Provider objects represent external OAuth/OpenID Connect providers within Confluent Cloud. + * + */ + public Output identityProvider() { + return this.identityProvider; + } + + private IdentityPoolArgs() {} + + private IdentityPoolArgs(IdentityPoolArgs $) { + this.description = $.description; + this.displayName = $.displayName; + this.filter = $.filter; + this.identityClaim = $.identityClaim; + this.identityProvider = $.identityProvider; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(IdentityPoolArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private IdentityPoolArgs $; + + public Builder() { + $ = new IdentityPoolArgs(); + } + + public Builder(IdentityPoolArgs defaults) { + $ = new IdentityPoolArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param description A description for the Identity Pool. + * + * @return builder + * + */ + public Builder description(Output description) { + $.description = description; + return this; + } + + /** + * @param description A description for the Identity Pool. + * + * @return builder + * + */ + public Builder description(String description) { + return description(Output.of(description)); + } + + /** + * @param displayName A human-readable name for the Identity Pool. + * + * @return builder + * + */ + public Builder displayName(Output displayName) { + $.displayName = displayName; + return this; + } + + /** + * @param displayName A human-readable name for the Identity Pool. + * + * @return builder + * + */ + public Builder displayName(String displayName) { + return displayName(Output.of(displayName)); + } + + /** + * @param filter A filter expression in [Supported Common Expression Language (CEL)](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html#supported-common-expression-language-cel-filters) that specifies which identities can authenticate using your identity pool (see [Set identity pool filters](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html#set-identity-pool-filters) for more details). + * + * @return builder + * + */ + public Builder filter(Output filter) { + $.filter = filter; + return this; + } + + /** + * @param filter A filter expression in [Supported Common Expression Language (CEL)](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html#supported-common-expression-language-cel-filters) that specifies which identities can authenticate using your identity pool (see [Set identity pool filters](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html#set-identity-pool-filters) for more details). + * + * @return builder + * + */ + public Builder filter(String filter) { + return filter(Output.of(filter)); + } + + /** + * @param identityClaim The JSON Web Token (JWT) claim to extract the authenticating identity to Confluent resources from (see [Registered Claim Names](https://datatracker.ietf.org/doc/html/rfc7519#section-4.1) for more details). This appears in the audit log records, showing, for example, that "identity Z used identity pool X to access topic A". + * + * @return builder + * + */ + public Builder identityClaim(Output identityClaim) { + $.identityClaim = identityClaim; + return this; + } + + /** + * @param identityClaim The JSON Web Token (JWT) claim to extract the authenticating identity to Confluent resources from (see [Registered Claim Names](https://datatracker.ietf.org/doc/html/rfc7519#section-4.1) for more details). This appears in the audit log records, showing, for example, that "identity Z used identity pool X to access topic A". + * + * @return builder + * + */ + public Builder identityClaim(String identityClaim) { + return identityClaim(Output.of(identityClaim)); + } + + /** + * @param identityProvider Identity Provider objects represent external OAuth/OpenID Connect providers within Confluent Cloud. + * + * @return builder + * + */ + public Builder identityProvider(Output identityProvider) { + $.identityProvider = identityProvider; + return this; + } + + /** + * @param identityProvider Identity Provider objects represent external OAuth/OpenID Connect providers within Confluent Cloud. + * + * @return builder + * + */ + public Builder identityProvider(IdentityPoolIdentityProviderArgs identityProvider) { + return identityProvider(Output.of(identityProvider)); + } + + public IdentityPoolArgs build() { + $.description = Objects.requireNonNull($.description, "expected parameter 'description' to be non-null"); + $.displayName = Objects.requireNonNull($.displayName, "expected parameter 'displayName' to be non-null"); + $.filter = Objects.requireNonNull($.filter, "expected parameter 'filter' to be non-null"); + $.identityClaim = Objects.requireNonNull($.identityClaim, "expected parameter 'identityClaim' to be non-null"); + $.identityProvider = Objects.requireNonNull($.identityProvider, "expected parameter 'identityProvider' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/confluentcloud/IdentityProvider.java b/sdk/java/src/main/java/com/pulumi/confluentcloud/IdentityProvider.java new file mode 100644 index 00000000..3d04abf6 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/confluentcloud/IdentityProvider.java @@ -0,0 +1,211 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.confluentcloud; + +import com.pulumi.confluentcloud.IdentityProviderArgs; +import com.pulumi.confluentcloud.Utilities; +import com.pulumi.confluentcloud.inputs.IdentityProviderState; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Export; +import com.pulumi.core.annotations.ResourceType; +import com.pulumi.core.internal.Codegen; +import java.lang.String; +import javax.annotation.Nullable; + +/** + * [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy) [![Request Access To OAuth API](https://img.shields.io/badge/-Request%20Access%20To%20OAuth%20API-%23bc8540)](mailto:ccloud-api-access+iam-v2-closed-preview@confluent.io?subject=Request%20to%20join%20OAuth%20API%20Closed%20Preview&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Closed%20Preview%20for%20iam/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + * + * > **Note:** `confluentcloud.IdentityProvider` resource is available in a **Limited Availability** for early adopters. Limited Availability features are introduced to gather customer feedback. This feature should be used only for evaluation and non-production testing purposes or to provide feedback to Confluent, particularly as it becomes more widely available in follow-on editions.\ + * **Limited Availability** features are intended for evaluation use in development and testing environments only, and not for production use. The warranty, SLA, and Support Services provisions of your agreement with Confluent do not apply to Limited Availability features. Limited Availability features are considered to be a Proof of Concept as defined in the Confluent Cloud Terms of Service. Confluent may discontinue providing preview releases of the Limited Availability features at any time in Confluent’s sole discretion. + * + * `confluentcloud.IdentityProvider` provides an Identity Provider resource that enables creating, editing, and deleting identity providers on Confluent Cloud. + * + * ## Example Usage + * ### Example Identity Provider: Azure AD + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.confluentcloud.IdentityProvider; + * import com.pulumi.confluentcloud.IdentityProviderArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * var azure = new IdentityProvider("azure", IdentityProviderArgs.builder() + * .description("My description") + * .displayName("My OIDC Provider: Azure AD") + * .issuer("https://login.microsoftonline.com/{tenant_id}/v2.0") + * .jwksUri("https://login.microsoftonline.com/common/discovery/v2.0/keys") + * .build()); + * + * } + * } + * ``` + * ### Example Identity Provider: Okta + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.confluentcloud.IdentityProvider; + * import com.pulumi.confluentcloud.IdentityProviderArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * var okta = new IdentityProvider("okta", IdentityProviderArgs.builder() + * .description("My description") + * .displayName("My OIDC Provider: Okta") + * .issuer("https://mycompany.okta.com/oauth2/default") + * .jwksUri("https://mycompany.okta.com/oauth2/default/v1/keys") + * .build()); + * + * } + * } + * ``` + * ## External Documentation + * + * * [Authenticating with OAuth](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/overview.html). + * + * ## Import + * + * You can import an Identity Provider by using Identity Provider ID, for example$ export CONFLUENT_CLOUD_API_KEY="<cloud_api_key>" $ export CONFLUENT_CLOUD_API_SECRET="<cloud_api_secret>" + * + * ```sh + * $ pulumi import confluentcloud:index/identityProvider:IdentityProvider example op-abc123 + * ``` + * + * !> **Warning:** Do not forget to delete terminal command history afterwards for security purposes. + * + */ +@ResourceType(type="confluentcloud:index/identityProvider:IdentityProvider") +public class IdentityProvider extends com.pulumi.resources.CustomResource { + /** + * A description for the Identity Provider. + * + */ + @Export(name="description", type=String.class, parameters={}) + private Output description; + + /** + * @return A description for the Identity Provider. + * + */ + public Output description() { + return this.description; + } + /** + * A human-readable name for the Identity Provider. + * + */ + @Export(name="displayName", type=String.class, parameters={}) + private Output displayName; + + /** + * @return A human-readable name for the Identity Provider. + * + */ + public Output displayName() { + return this.displayName; + } + /** + * A publicly reachable issuer URI for the Identity Provider. The unique issuer URI string represents the entity for issuing tokens. + * + */ + @Export(name="issuer", type=String.class, parameters={}) + private Output issuer; + + /** + * @return A publicly reachable issuer URI for the Identity Provider. The unique issuer URI string represents the entity for issuing tokens. + * + */ + public Output issuer() { + return this.issuer; + } + /** + * A publicly reachable JSON Web Key Set (JWKS) URI for the Identity Provider. A JSON Web Key Set (JWKS) provides a set of keys containing the public keys used to verify any JSON Web Token (JWT) issued by your OAuth 2.0 identity provider. + * + */ + @Export(name="jwksUri", type=String.class, parameters={}) + private Output jwksUri; + + /** + * @return A publicly reachable JSON Web Key Set (JWKS) URI for the Identity Provider. A JSON Web Key Set (JWKS) provides a set of keys containing the public keys used to verify any JSON Web Token (JWT) issued by your OAuth 2.0 identity provider. + * + */ + public Output jwksUri() { + return this.jwksUri; + } + + /** + * + * @param name The _unique_ name of the resulting resource. + */ + public IdentityProvider(String name) { + this(name, IdentityProviderArgs.Empty); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + */ + public IdentityProvider(String name, IdentityProviderArgs args) { + this(name, args, null); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + * @param options A bag of options that control this resource's behavior. + */ + public IdentityProvider(String name, IdentityProviderArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("confluentcloud:index/identityProvider:IdentityProvider", name, args == null ? IdentityProviderArgs.Empty : args, makeResourceOptions(options, Codegen.empty())); + } + + private IdentityProvider(String name, Output id, @Nullable IdentityProviderState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("confluentcloud:index/identityProvider:IdentityProvider", name, state, makeResourceOptions(options, id)); + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() + .version(Utilities.getVersion()) + .build(); + return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id); + } + + /** + * Get an existing Host resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state + * @param options Optional settings to control the behavior of the CustomResource. + */ + public static IdentityProvider get(String name, Output id, @Nullable IdentityProviderState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + return new IdentityProvider(name, id, state, options); + } +} diff --git a/sdk/java/src/main/java/com/pulumi/confluentcloud/IdentityProviderArgs.java b/sdk/java/src/main/java/com/pulumi/confluentcloud/IdentityProviderArgs.java new file mode 100644 index 00000000..c30e9856 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/confluentcloud/IdentityProviderArgs.java @@ -0,0 +1,196 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.confluentcloud; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; + + +public final class IdentityProviderArgs extends com.pulumi.resources.ResourceArgs { + + public static final IdentityProviderArgs Empty = new IdentityProviderArgs(); + + /** + * A description for the Identity Provider. + * + */ + @Import(name="description", required=true) + private Output description; + + /** + * @return A description for the Identity Provider. + * + */ + public Output description() { + return this.description; + } + + /** + * A human-readable name for the Identity Provider. + * + */ + @Import(name="displayName", required=true) + private Output displayName; + + /** + * @return A human-readable name for the Identity Provider. + * + */ + public Output displayName() { + return this.displayName; + } + + /** + * A publicly reachable issuer URI for the Identity Provider. The unique issuer URI string represents the entity for issuing tokens. + * + */ + @Import(name="issuer", required=true) + private Output issuer; + + /** + * @return A publicly reachable issuer URI for the Identity Provider. The unique issuer URI string represents the entity for issuing tokens. + * + */ + public Output issuer() { + return this.issuer; + } + + /** + * A publicly reachable JSON Web Key Set (JWKS) URI for the Identity Provider. A JSON Web Key Set (JWKS) provides a set of keys containing the public keys used to verify any JSON Web Token (JWT) issued by your OAuth 2.0 identity provider. + * + */ + @Import(name="jwksUri", required=true) + private Output jwksUri; + + /** + * @return A publicly reachable JSON Web Key Set (JWKS) URI for the Identity Provider. A JSON Web Key Set (JWKS) provides a set of keys containing the public keys used to verify any JSON Web Token (JWT) issued by your OAuth 2.0 identity provider. + * + */ + public Output jwksUri() { + return this.jwksUri; + } + + private IdentityProviderArgs() {} + + private IdentityProviderArgs(IdentityProviderArgs $) { + this.description = $.description; + this.displayName = $.displayName; + this.issuer = $.issuer; + this.jwksUri = $.jwksUri; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(IdentityProviderArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private IdentityProviderArgs $; + + public Builder() { + $ = new IdentityProviderArgs(); + } + + public Builder(IdentityProviderArgs defaults) { + $ = new IdentityProviderArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param description A description for the Identity Provider. + * + * @return builder + * + */ + public Builder description(Output description) { + $.description = description; + return this; + } + + /** + * @param description A description for the Identity Provider. + * + * @return builder + * + */ + public Builder description(String description) { + return description(Output.of(description)); + } + + /** + * @param displayName A human-readable name for the Identity Provider. + * + * @return builder + * + */ + public Builder displayName(Output displayName) { + $.displayName = displayName; + return this; + } + + /** + * @param displayName A human-readable name for the Identity Provider. + * + * @return builder + * + */ + public Builder displayName(String displayName) { + return displayName(Output.of(displayName)); + } + + /** + * @param issuer A publicly reachable issuer URI for the Identity Provider. The unique issuer URI string represents the entity for issuing tokens. + * + * @return builder + * + */ + public Builder issuer(Output issuer) { + $.issuer = issuer; + return this; + } + + /** + * @param issuer A publicly reachable issuer URI for the Identity Provider. The unique issuer URI string represents the entity for issuing tokens. + * + * @return builder + * + */ + public Builder issuer(String issuer) { + return issuer(Output.of(issuer)); + } + + /** + * @param jwksUri A publicly reachable JSON Web Key Set (JWKS) URI for the Identity Provider. A JSON Web Key Set (JWKS) provides a set of keys containing the public keys used to verify any JSON Web Token (JWT) issued by your OAuth 2.0 identity provider. + * + * @return builder + * + */ + public Builder jwksUri(Output jwksUri) { + $.jwksUri = jwksUri; + return this; + } + + /** + * @param jwksUri A publicly reachable JSON Web Key Set (JWKS) URI for the Identity Provider. A JSON Web Key Set (JWKS) provides a set of keys containing the public keys used to verify any JSON Web Token (JWT) issued by your OAuth 2.0 identity provider. + * + * @return builder + * + */ + public Builder jwksUri(String jwksUri) { + return jwksUri(Output.of(jwksUri)); + } + + public IdentityProviderArgs build() { + $.description = Objects.requireNonNull($.description, "expected parameter 'description' to be non-null"); + $.displayName = Objects.requireNonNull($.displayName, "expected parameter 'displayName' to be non-null"); + $.issuer = Objects.requireNonNull($.issuer, "expected parameter 'issuer' to be non-null"); + $.jwksUri = Objects.requireNonNull($.jwksUri, "expected parameter 'jwksUri' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/confluentcloud/KsqlCluster.java b/sdk/java/src/main/java/com/pulumi/confluentcloud/KsqlCluster.java new file mode 100644 index 00000000..c1484fd7 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/confluentcloud/KsqlCluster.java @@ -0,0 +1,225 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.confluentcloud; + +import com.pulumi.confluentcloud.KsqlClusterArgs; +import com.pulumi.confluentcloud.Utilities; +import com.pulumi.confluentcloud.inputs.KsqlClusterState; +import com.pulumi.confluentcloud.outputs.KsqlClusterCredentialIdentity; +import com.pulumi.confluentcloud.outputs.KsqlClusterEnvironment; +import com.pulumi.confluentcloud.outputs.KsqlClusterKafkaCluster; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Export; +import com.pulumi.core.annotations.ResourceType; +import com.pulumi.core.internal.Codegen; +import java.lang.Boolean; +import java.lang.Integer; +import java.lang.String; +import java.util.Optional; +import javax.annotation.Nullable; + +/** + * ## Import + * + * You can import a ksqlDB cluster by using Environment ID and ksqlDB cluster ID, in the format `<Environment ID>/<ksqlDB cluster ID>`, for example$ export CONFLUENT_CLOUD_API_KEY="<cloud_api_key>" $ export CONFLUENT_CLOUD_API_SECRET="<cloud_api_secret>" + * + * ```sh + * $ pulumi import confluentcloud:index/ksqlCluster:KsqlCluster example env-abc123/lksqlc-abc123 + * ``` + * + * !> **Warning:** + * + * Do not forget to delete the terminal's command history afterward for security purposes. + * + */ +@ResourceType(type="confluentcloud:index/ksqlCluster:KsqlCluster") +public class KsqlCluster extends com.pulumi.resources.CustomResource { + /** + * (Required String) An API Version of the schema version of the ksqlDB cluster, for example, `ksqldbcm/v2`. + * + */ + @Export(name="apiVersion", type=String.class, parameters={}) + private Output apiVersion; + + /** + * @return (Required String) An API Version of the schema version of the ksqlDB cluster, for example, `ksqldbcm/v2`. + * + */ + public Output apiVersion() { + return this.apiVersion; + } + @Export(name="credentialIdentity", type=KsqlClusterCredentialIdentity.class, parameters={}) + private Output credentialIdentity; + + public Output credentialIdentity() { + return this.credentialIdentity; + } + /** + * The number of Confluent Streaming Units (CSUs) for the ksqlDB cluster. + * + */ + @Export(name="csu", type=Integer.class, parameters={}) + private Output csu; + + /** + * @return The number of Confluent Streaming Units (CSUs) for the ksqlDB cluster. + * + */ + public Output csu() { + return this.csu; + } + /** + * The name of the ksqlDB cluster. + * + */ + @Export(name="displayName", type=String.class, parameters={}) + private Output displayName; + + /** + * @return The name of the ksqlDB cluster. + * + */ + public Output displayName() { + return this.displayName; + } + /** + * Environment objects represent an isolated namespace for your Confluent resources for organizational purposes. + * + */ + @Export(name="environment", type=KsqlClusterEnvironment.class, parameters={}) + private Output environment; + + /** + * @return Environment objects represent an isolated namespace for your Confluent resources for organizational purposes. + * + */ + public Output environment() { + return this.environment; + } + /** + * (Required String) The API endpoint of the ksqlDB cluster, for example, `https://pksqlc-00000.us-central1.gcp.glb.confluent.cloud`. + * + */ + @Export(name="httpEndpoint", type=String.class, parameters={}) + private Output httpEndpoint; + + /** + * @return (Required String) The API endpoint of the ksqlDB cluster, for example, `https://pksqlc-00000.us-central1.gcp.glb.confluent.cloud`. + * + */ + public Output httpEndpoint() { + return this.httpEndpoint; + } + @Export(name="kafkaCluster", type=KsqlClusterKafkaCluster.class, parameters={}) + private Output kafkaCluster; + + public Output kafkaCluster() { + return this.kafkaCluster; + } + /** + * (Required String) A kind of the ksqlDB cluster, for example, `Cluster`. + * + */ + @Export(name="kind", type=String.class, parameters={}) + private Output kind; + + /** + * @return (Required String) A kind of the ksqlDB cluster, for example, `Cluster`. + * + */ + public Output kind() { + return this.kind; + } + /** + * (Required Integer) The amount of storage (in GB) provisioned to the ksqlDB cluster. + * + */ + @Export(name="storage", type=Integer.class, parameters={}) + private Output storage; + + /** + * @return (Required Integer) The amount of storage (in GB) provisioned to the ksqlDB cluster. + * + */ + public Output storage() { + return this.storage; + } + /** + * (Required String) Topic name prefix used by this ksqlDB cluster. Used to assign ACLs for this ksqlDB cluster to use, for example, `pksqlc-00000`. + * + */ + @Export(name="topicPrefix", type=String.class, parameters={}) + private Output topicPrefix; + + /** + * @return (Required String) Topic name prefix used by this ksqlDB cluster. Used to assign ACLs for this ksqlDB cluster to use, for example, `pksqlc-00000`. + * + */ + public Output topicPrefix() { + return this.topicPrefix; + } + /** + * Controls whether the row data should be included in the processing log topic. Set it to `false` if you don't want to emit sensitive information to the processing log. Defaults to `true`. + * + */ + @Export(name="useDetailedProcessingLog", type=Boolean.class, parameters={}) + private Output useDetailedProcessingLog; + + /** + * @return Controls whether the row data should be included in the processing log topic. Set it to `false` if you don't want to emit sensitive information to the processing log. Defaults to `true`. + * + */ + public Output> useDetailedProcessingLog() { + return Codegen.optional(this.useDetailedProcessingLog); + } + + /** + * + * @param name The _unique_ name of the resulting resource. + */ + public KsqlCluster(String name) { + this(name, KsqlClusterArgs.Empty); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + */ + public KsqlCluster(String name, KsqlClusterArgs args) { + this(name, args, null); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + * @param options A bag of options that control this resource's behavior. + */ + public KsqlCluster(String name, KsqlClusterArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("confluentcloud:index/ksqlCluster:KsqlCluster", name, args == null ? KsqlClusterArgs.Empty : args, makeResourceOptions(options, Codegen.empty())); + } + + private KsqlCluster(String name, Output id, @Nullable KsqlClusterState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("confluentcloud:index/ksqlCluster:KsqlCluster", name, state, makeResourceOptions(options, id)); + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() + .version(Utilities.getVersion()) + .build(); + return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id); + } + + /** + * Get an existing Host resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state + * @param options Optional settings to control the behavior of the CustomResource. + */ + public static KsqlCluster get(String name, Output id, @Nullable KsqlClusterState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + return new KsqlCluster(name, id, state, options); + } +} diff --git a/sdk/java/src/main/java/com/pulumi/confluentcloud/KsqlClusterArgs.java b/sdk/java/src/main/java/com/pulumi/confluentcloud/KsqlClusterArgs.java new file mode 100644 index 00000000..c7b5bb92 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/confluentcloud/KsqlClusterArgs.java @@ -0,0 +1,238 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.confluentcloud; + +import com.pulumi.confluentcloud.inputs.KsqlClusterCredentialIdentityArgs; +import com.pulumi.confluentcloud.inputs.KsqlClusterEnvironmentArgs; +import com.pulumi.confluentcloud.inputs.KsqlClusterKafkaClusterArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Boolean; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class KsqlClusterArgs extends com.pulumi.resources.ResourceArgs { + + public static final KsqlClusterArgs Empty = new KsqlClusterArgs(); + + @Import(name="credentialIdentity", required=true) + private Output credentialIdentity; + + public Output credentialIdentity() { + return this.credentialIdentity; + } + + /** + * The number of Confluent Streaming Units (CSUs) for the ksqlDB cluster. + * + */ + @Import(name="csu", required=true) + private Output csu; + + /** + * @return The number of Confluent Streaming Units (CSUs) for the ksqlDB cluster. + * + */ + public Output csu() { + return this.csu; + } + + /** + * The name of the ksqlDB cluster. + * + */ + @Import(name="displayName", required=true) + private Output displayName; + + /** + * @return The name of the ksqlDB cluster. + * + */ + public Output displayName() { + return this.displayName; + } + + /** + * Environment objects represent an isolated namespace for your Confluent resources for organizational purposes. + * + */ + @Import(name="environment", required=true) + private Output environment; + + /** + * @return Environment objects represent an isolated namespace for your Confluent resources for organizational purposes. + * + */ + public Output environment() { + return this.environment; + } + + @Import(name="kafkaCluster", required=true) + private Output kafkaCluster; + + public Output kafkaCluster() { + return this.kafkaCluster; + } + + /** + * Controls whether the row data should be included in the processing log topic. Set it to `false` if you don't want to emit sensitive information to the processing log. Defaults to `true`. + * + */ + @Import(name="useDetailedProcessingLog") + private @Nullable Output useDetailedProcessingLog; + + /** + * @return Controls whether the row data should be included in the processing log topic. Set it to `false` if you don't want to emit sensitive information to the processing log. Defaults to `true`. + * + */ + public Optional> useDetailedProcessingLog() { + return Optional.ofNullable(this.useDetailedProcessingLog); + } + + private KsqlClusterArgs() {} + + private KsqlClusterArgs(KsqlClusterArgs $) { + this.credentialIdentity = $.credentialIdentity; + this.csu = $.csu; + this.displayName = $.displayName; + this.environment = $.environment; + this.kafkaCluster = $.kafkaCluster; + this.useDetailedProcessingLog = $.useDetailedProcessingLog; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(KsqlClusterArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private KsqlClusterArgs $; + + public Builder() { + $ = new KsqlClusterArgs(); + } + + public Builder(KsqlClusterArgs defaults) { + $ = new KsqlClusterArgs(Objects.requireNonNull(defaults)); + } + + public Builder credentialIdentity(Output credentialIdentity) { + $.credentialIdentity = credentialIdentity; + return this; + } + + public Builder credentialIdentity(KsqlClusterCredentialIdentityArgs credentialIdentity) { + return credentialIdentity(Output.of(credentialIdentity)); + } + + /** + * @param csu The number of Confluent Streaming Units (CSUs) for the ksqlDB cluster. + * + * @return builder + * + */ + public Builder csu(Output csu) { + $.csu = csu; + return this; + } + + /** + * @param csu The number of Confluent Streaming Units (CSUs) for the ksqlDB cluster. + * + * @return builder + * + */ + public Builder csu(Integer csu) { + return csu(Output.of(csu)); + } + + /** + * @param displayName The name of the ksqlDB cluster. + * + * @return builder + * + */ + public Builder displayName(Output displayName) { + $.displayName = displayName; + return this; + } + + /** + * @param displayName The name of the ksqlDB cluster. + * + * @return builder + * + */ + public Builder displayName(String displayName) { + return displayName(Output.of(displayName)); + } + + /** + * @param environment Environment objects represent an isolated namespace for your Confluent resources for organizational purposes. + * + * @return builder + * + */ + public Builder environment(Output environment) { + $.environment = environment; + return this; + } + + /** + * @param environment Environment objects represent an isolated namespace for your Confluent resources for organizational purposes. + * + * @return builder + * + */ + public Builder environment(KsqlClusterEnvironmentArgs environment) { + return environment(Output.of(environment)); + } + + public Builder kafkaCluster(Output kafkaCluster) { + $.kafkaCluster = kafkaCluster; + return this; + } + + public Builder kafkaCluster(KsqlClusterKafkaClusterArgs kafkaCluster) { + return kafkaCluster(Output.of(kafkaCluster)); + } + + /** + * @param useDetailedProcessingLog Controls whether the row data should be included in the processing log topic. Set it to `false` if you don't want to emit sensitive information to the processing log. Defaults to `true`. + * + * @return builder + * + */ + public Builder useDetailedProcessingLog(@Nullable Output useDetailedProcessingLog) { + $.useDetailedProcessingLog = useDetailedProcessingLog; + return this; + } + + /** + * @param useDetailedProcessingLog Controls whether the row data should be included in the processing log topic. Set it to `false` if you don't want to emit sensitive information to the processing log. Defaults to `true`. + * + * @return builder + * + */ + public Builder useDetailedProcessingLog(Boolean useDetailedProcessingLog) { + return useDetailedProcessingLog(Output.of(useDetailedProcessingLog)); + } + + public KsqlClusterArgs build() { + $.credentialIdentity = Objects.requireNonNull($.credentialIdentity, "expected parameter 'credentialIdentity' to be non-null"); + $.csu = Objects.requireNonNull($.csu, "expected parameter 'csu' to be non-null"); + $.displayName = Objects.requireNonNull($.displayName, "expected parameter 'displayName' to be non-null"); + $.environment = Objects.requireNonNull($.environment, "expected parameter 'environment' to be non-null"); + $.kafkaCluster = Objects.requireNonNull($.kafkaCluster, "expected parameter 'kafkaCluster' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/confluentcloud/PrivateLinkAccess.java b/sdk/java/src/main/java/com/pulumi/confluentcloud/PrivateLinkAccess.java index a0ddf7c4..f1c3a7e9 100644 --- a/sdk/java/src/main/java/com/pulumi/confluentcloud/PrivateLinkAccess.java +++ b/sdk/java/src/main/java/com/pulumi/confluentcloud/PrivateLinkAccess.java @@ -9,6 +9,7 @@ import com.pulumi.confluentcloud.outputs.PrivateLinkAccessAws; import com.pulumi.confluentcloud.outputs.PrivateLinkAccessAzure; import com.pulumi.confluentcloud.outputs.PrivateLinkAccessEnvironment; +import com.pulumi.confluentcloud.outputs.PrivateLinkAccessGcp; import com.pulumi.confluentcloud.outputs.PrivateLinkAccessNetwork; import com.pulumi.core.Output; import com.pulumi.core.annotations.Export; @@ -72,6 +73,12 @@ public Output displayName() { public Output environment() { return this.environment; } + @Export(name="gcp", type=PrivateLinkAccessGcp.class, parameters={}) + private Output gcp; + + public Output> gcp() { + return Codegen.optional(this.gcp); + } /** * Network represents a network (VPC) in Confluent Cloud. All Networks exist within Confluent-managed cloud provider * accounts. diff --git a/sdk/java/src/main/java/com/pulumi/confluentcloud/PrivateLinkAccessArgs.java b/sdk/java/src/main/java/com/pulumi/confluentcloud/PrivateLinkAccessArgs.java index 93a8731c..13bc944f 100644 --- a/sdk/java/src/main/java/com/pulumi/confluentcloud/PrivateLinkAccessArgs.java +++ b/sdk/java/src/main/java/com/pulumi/confluentcloud/PrivateLinkAccessArgs.java @@ -6,6 +6,7 @@ import com.pulumi.confluentcloud.inputs.PrivateLinkAccessAwsArgs; import com.pulumi.confluentcloud.inputs.PrivateLinkAccessAzureArgs; import com.pulumi.confluentcloud.inputs.PrivateLinkAccessEnvironmentArgs; +import com.pulumi.confluentcloud.inputs.PrivateLinkAccessGcpArgs; import com.pulumi.confluentcloud.inputs.PrivateLinkAccessNetworkArgs; import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; @@ -63,6 +64,13 @@ public Output environment() { return this.environment; } + @Import(name="gcp") + private @Nullable Output gcp; + + public Optional> gcp() { + return Optional.ofNullable(this.gcp); + } + /** * Network represents a network (VPC) in Confluent Cloud. All Networks exist within Confluent-managed cloud provider * accounts. @@ -87,6 +95,7 @@ private PrivateLinkAccessArgs(PrivateLinkAccessArgs $) { this.azure = $.azure; this.displayName = $.displayName; this.environment = $.environment; + this.gcp = $.gcp; this.network = $.network; } @@ -168,6 +177,15 @@ public Builder environment(PrivateLinkAccessEnvironmentArgs environment) { return environment(Output.of(environment)); } + public Builder gcp(@Nullable Output gcp) { + $.gcp = gcp; + return this; + } + + public Builder gcp(PrivateLinkAccessGcpArgs gcp) { + return gcp(Output.of(gcp)); + } + /** * @param network Network represents a network (VPC) in Confluent Cloud. All Networks exist within Confluent-managed cloud provider * accounts. diff --git a/sdk/java/src/main/java/com/pulumi/confluentcloud/inputs/GetIdentityPoolArgs.java b/sdk/java/src/main/java/com/pulumi/confluentcloud/inputs/GetIdentityPoolArgs.java new file mode 100644 index 00000000..0e54d9c7 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/confluentcloud/inputs/GetIdentityPoolArgs.java @@ -0,0 +1,139 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.confluentcloud.inputs; + +import com.pulumi.confluentcloud.inputs.GetIdentityPoolIdentityProviderArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class GetIdentityPoolArgs extends com.pulumi.resources.InvokeArgs { + + public static final GetIdentityPoolArgs Empty = new GetIdentityPoolArgs(); + + /** + * A human-readable name for the Identity Pool. + * + */ + @Import(name="displayName") + private @Nullable Output displayName; + + /** + * @return A human-readable name for the Identity Pool. + * + */ + public Optional> displayName() { + return Optional.ofNullable(this.displayName); + } + + /** + * The ID of the Identity Provider associated with the Identity Pool, for example, `op-abc123`. + * + */ + @Import(name="id") + private @Nullable Output id; + + /** + * @return The ID of the Identity Provider associated with the Identity Pool, for example, `op-abc123`. + * + */ + public Optional> id() { + return Optional.ofNullable(this.id); + } + + @Import(name="identityProvider", required=true) + private Output identityProvider; + + public Output identityProvider() { + return this.identityProvider; + } + + private GetIdentityPoolArgs() {} + + private GetIdentityPoolArgs(GetIdentityPoolArgs $) { + this.displayName = $.displayName; + this.id = $.id; + this.identityProvider = $.identityProvider; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GetIdentityPoolArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GetIdentityPoolArgs $; + + public Builder() { + $ = new GetIdentityPoolArgs(); + } + + public Builder(GetIdentityPoolArgs defaults) { + $ = new GetIdentityPoolArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param displayName A human-readable name for the Identity Pool. + * + * @return builder + * + */ + public Builder displayName(@Nullable Output displayName) { + $.displayName = displayName; + return this; + } + + /** + * @param displayName A human-readable name for the Identity Pool. + * + * @return builder + * + */ + public Builder displayName(String displayName) { + return displayName(Output.of(displayName)); + } + + /** + * @param id The ID of the Identity Provider associated with the Identity Pool, for example, `op-abc123`. + * + * @return builder + * + */ + public Builder id(@Nullable Output id) { + $.id = id; + return this; + } + + /** + * @param id The ID of the Identity Provider associated with the Identity Pool, for example, `op-abc123`. + * + * @return builder + * + */ + public Builder id(String id) { + return id(Output.of(id)); + } + + public Builder identityProvider(Output identityProvider) { + $.identityProvider = identityProvider; + return this; + } + + public Builder identityProvider(GetIdentityPoolIdentityProviderArgs identityProvider) { + return identityProvider(Output.of(identityProvider)); + } + + public GetIdentityPoolArgs build() { + $.identityProvider = Objects.requireNonNull($.identityProvider, "expected parameter 'identityProvider' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/confluentcloud/inputs/GetIdentityPoolIdentityProvider.java b/sdk/java/src/main/java/com/pulumi/confluentcloud/inputs/GetIdentityPoolIdentityProvider.java new file mode 100644 index 00000000..772aad75 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/confluentcloud/inputs/GetIdentityPoolIdentityProvider.java @@ -0,0 +1,71 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.confluentcloud.inputs; + +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; + + +public final class GetIdentityPoolIdentityProvider extends com.pulumi.resources.InvokeArgs { + + public static final GetIdentityPoolIdentityProvider Empty = new GetIdentityPoolIdentityProvider(); + + /** + * The ID of the Identity Provider associated with the Identity Pool, for example, `op-abc123`. + * + */ + @Import(name="id", required=true) + private String id; + + /** + * @return The ID of the Identity Provider associated with the Identity Pool, for example, `op-abc123`. + * + */ + public String id() { + return this.id; + } + + private GetIdentityPoolIdentityProvider() {} + + private GetIdentityPoolIdentityProvider(GetIdentityPoolIdentityProvider $) { + this.id = $.id; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GetIdentityPoolIdentityProvider defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GetIdentityPoolIdentityProvider $; + + public Builder() { + $ = new GetIdentityPoolIdentityProvider(); + } + + public Builder(GetIdentityPoolIdentityProvider defaults) { + $ = new GetIdentityPoolIdentityProvider(Objects.requireNonNull(defaults)); + } + + /** + * @param id The ID of the Identity Provider associated with the Identity Pool, for example, `op-abc123`. + * + * @return builder + * + */ + public Builder id(String id) { + $.id = id; + return this; + } + + public GetIdentityPoolIdentityProvider build() { + $.id = Objects.requireNonNull($.id, "expected parameter 'id' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/confluentcloud/inputs/GetIdentityPoolIdentityProviderArgs.java b/sdk/java/src/main/java/com/pulumi/confluentcloud/inputs/GetIdentityPoolIdentityProviderArgs.java new file mode 100644 index 00000000..7cfe1b18 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/confluentcloud/inputs/GetIdentityPoolIdentityProviderArgs.java @@ -0,0 +1,82 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.confluentcloud.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; + + +public final class GetIdentityPoolIdentityProviderArgs extends com.pulumi.resources.ResourceArgs { + + public static final GetIdentityPoolIdentityProviderArgs Empty = new GetIdentityPoolIdentityProviderArgs(); + + /** + * The ID of the Identity Provider associated with the Identity Pool, for example, `op-abc123`. + * + */ + @Import(name="id", required=true) + private Output id; + + /** + * @return The ID of the Identity Provider associated with the Identity Pool, for example, `op-abc123`. + * + */ + public Output id() { + return this.id; + } + + private GetIdentityPoolIdentityProviderArgs() {} + + private GetIdentityPoolIdentityProviderArgs(GetIdentityPoolIdentityProviderArgs $) { + this.id = $.id; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GetIdentityPoolIdentityProviderArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GetIdentityPoolIdentityProviderArgs $; + + public Builder() { + $ = new GetIdentityPoolIdentityProviderArgs(); + } + + public Builder(GetIdentityPoolIdentityProviderArgs defaults) { + $ = new GetIdentityPoolIdentityProviderArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param id The ID of the Identity Provider associated with the Identity Pool, for example, `op-abc123`. + * + * @return builder + * + */ + public Builder id(Output id) { + $.id = id; + return this; + } + + /** + * @param id The ID of the Identity Provider associated with the Identity Pool, for example, `op-abc123`. + * + * @return builder + * + */ + public Builder id(String id) { + return id(Output.of(id)); + } + + public GetIdentityPoolIdentityProviderArgs build() { + $.id = Objects.requireNonNull($.id, "expected parameter 'id' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/confluentcloud/inputs/GetIdentityPoolPlainArgs.java b/sdk/java/src/main/java/com/pulumi/confluentcloud/inputs/GetIdentityPoolPlainArgs.java new file mode 100644 index 00000000..ce8efe1d --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/confluentcloud/inputs/GetIdentityPoolPlainArgs.java @@ -0,0 +1,114 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.confluentcloud.inputs; + +import com.pulumi.confluentcloud.inputs.GetIdentityPoolIdentityProvider; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class GetIdentityPoolPlainArgs extends com.pulumi.resources.InvokeArgs { + + public static final GetIdentityPoolPlainArgs Empty = new GetIdentityPoolPlainArgs(); + + /** + * A human-readable name for the Identity Pool. + * + */ + @Import(name="displayName") + private @Nullable String displayName; + + /** + * @return A human-readable name for the Identity Pool. + * + */ + public Optional displayName() { + return Optional.ofNullable(this.displayName); + } + + /** + * The ID of the Identity Provider associated with the Identity Pool, for example, `op-abc123`. + * + */ + @Import(name="id") + private @Nullable String id; + + /** + * @return The ID of the Identity Provider associated with the Identity Pool, for example, `op-abc123`. + * + */ + public Optional id() { + return Optional.ofNullable(this.id); + } + + @Import(name="identityProvider", required=true) + private GetIdentityPoolIdentityProvider identityProvider; + + public GetIdentityPoolIdentityProvider identityProvider() { + return this.identityProvider; + } + + private GetIdentityPoolPlainArgs() {} + + private GetIdentityPoolPlainArgs(GetIdentityPoolPlainArgs $) { + this.displayName = $.displayName; + this.id = $.id; + this.identityProvider = $.identityProvider; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GetIdentityPoolPlainArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GetIdentityPoolPlainArgs $; + + public Builder() { + $ = new GetIdentityPoolPlainArgs(); + } + + public Builder(GetIdentityPoolPlainArgs defaults) { + $ = new GetIdentityPoolPlainArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param displayName A human-readable name for the Identity Pool. + * + * @return builder + * + */ + public Builder displayName(@Nullable String displayName) { + $.displayName = displayName; + return this; + } + + /** + * @param id The ID of the Identity Provider associated with the Identity Pool, for example, `op-abc123`. + * + * @return builder + * + */ + public Builder id(@Nullable String id) { + $.id = id; + return this; + } + + public Builder identityProvider(GetIdentityPoolIdentityProvider identityProvider) { + $.identityProvider = identityProvider; + return this; + } + + public GetIdentityPoolPlainArgs build() { + $.identityProvider = Objects.requireNonNull($.identityProvider, "expected parameter 'identityProvider' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/confluentcloud/inputs/GetIdentityProviderArgs.java b/sdk/java/src/main/java/com/pulumi/confluentcloud/inputs/GetIdentityProviderArgs.java new file mode 100644 index 00000000..6ad9fed4 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/confluentcloud/inputs/GetIdentityProviderArgs.java @@ -0,0 +1,120 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.confluentcloud.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class GetIdentityProviderArgs extends com.pulumi.resources.InvokeArgs { + + public static final GetIdentityProviderArgs Empty = new GetIdentityProviderArgs(); + + /** + * A human-readable name for the Identity Provider. + * + */ + @Import(name="displayName") + private @Nullable Output displayName; + + /** + * @return A human-readable name for the Identity Provider. + * + */ + public Optional> displayName() { + return Optional.ofNullable(this.displayName); + } + + /** + * The ID of the Identity Provider, for example, `op-abc123`. + * + */ + @Import(name="id") + private @Nullable Output id; + + /** + * @return The ID of the Identity Provider, for example, `op-abc123`. + * + */ + public Optional> id() { + return Optional.ofNullable(this.id); + } + + private GetIdentityProviderArgs() {} + + private GetIdentityProviderArgs(GetIdentityProviderArgs $) { + this.displayName = $.displayName; + this.id = $.id; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GetIdentityProviderArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GetIdentityProviderArgs $; + + public Builder() { + $ = new GetIdentityProviderArgs(); + } + + public Builder(GetIdentityProviderArgs defaults) { + $ = new GetIdentityProviderArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param displayName A human-readable name for the Identity Provider. + * + * @return builder + * + */ + public Builder displayName(@Nullable Output displayName) { + $.displayName = displayName; + return this; + } + + /** + * @param displayName A human-readable name for the Identity Provider. + * + * @return builder + * + */ + public Builder displayName(String displayName) { + return displayName(Output.of(displayName)); + } + + /** + * @param id The ID of the Identity Provider, for example, `op-abc123`. + * + * @return builder + * + */ + public Builder id(@Nullable Output id) { + $.id = id; + return this; + } + + /** + * @param id The ID of the Identity Provider, for example, `op-abc123`. + * + * @return builder + * + */ + public Builder id(String id) { + return id(Output.of(id)); + } + + public GetIdentityProviderArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/confluentcloud/inputs/GetIdentityProviderPlainArgs.java b/sdk/java/src/main/java/com/pulumi/confluentcloud/inputs/GetIdentityProviderPlainArgs.java new file mode 100644 index 00000000..8eb12918 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/confluentcloud/inputs/GetIdentityProviderPlainArgs.java @@ -0,0 +1,99 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.confluentcloud.inputs; + +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class GetIdentityProviderPlainArgs extends com.pulumi.resources.InvokeArgs { + + public static final GetIdentityProviderPlainArgs Empty = new GetIdentityProviderPlainArgs(); + + /** + * A human-readable name for the Identity Provider. + * + */ + @Import(name="displayName") + private @Nullable String displayName; + + /** + * @return A human-readable name for the Identity Provider. + * + */ + public Optional displayName() { + return Optional.ofNullable(this.displayName); + } + + /** + * The ID of the Identity Provider, for example, `op-abc123`. + * + */ + @Import(name="id") + private @Nullable String id; + + /** + * @return The ID of the Identity Provider, for example, `op-abc123`. + * + */ + public Optional id() { + return Optional.ofNullable(this.id); + } + + private GetIdentityProviderPlainArgs() {} + + private GetIdentityProviderPlainArgs(GetIdentityProviderPlainArgs $) { + this.displayName = $.displayName; + this.id = $.id; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GetIdentityProviderPlainArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GetIdentityProviderPlainArgs $; + + public Builder() { + $ = new GetIdentityProviderPlainArgs(); + } + + public Builder(GetIdentityProviderPlainArgs defaults) { + $ = new GetIdentityProviderPlainArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param displayName A human-readable name for the Identity Provider. + * + * @return builder + * + */ + public Builder displayName(@Nullable String displayName) { + $.displayName = displayName; + return this; + } + + /** + * @param id The ID of the Identity Provider, for example, `op-abc123`. + * + * @return builder + * + */ + public Builder id(@Nullable String id) { + $.id = id; + return this; + } + + public GetIdentityProviderPlainArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/confluentcloud/inputs/GetKsqlClusterArgs.java b/sdk/java/src/main/java/com/pulumi/confluentcloud/inputs/GetKsqlClusterArgs.java new file mode 100644 index 00000000..cddc7d32 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/confluentcloud/inputs/GetKsqlClusterArgs.java @@ -0,0 +1,139 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.confluentcloud.inputs; + +import com.pulumi.confluentcloud.inputs.GetKsqlClusterEnvironmentArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class GetKsqlClusterArgs extends com.pulumi.resources.InvokeArgs { + + public static final GetKsqlClusterArgs Empty = new GetKsqlClusterArgs(); + + /** + * The name of the ksqlDB cluster. + * + */ + @Import(name="displayName") + private @Nullable Output displayName; + + /** + * @return The name of the ksqlDB cluster. + * + */ + public Optional> displayName() { + return Optional.ofNullable(this.displayName); + } + + @Import(name="environment", required=true) + private Output environment; + + public Output environment() { + return this.environment; + } + + /** + * The ID of the Environment that the ksqlDB cluster belongs to, for example, `env-xyz456`. + * + */ + @Import(name="id") + private @Nullable Output id; + + /** + * @return The ID of the Environment that the ksqlDB cluster belongs to, for example, `env-xyz456`. + * + */ + public Optional> id() { + return Optional.ofNullable(this.id); + } + + private GetKsqlClusterArgs() {} + + private GetKsqlClusterArgs(GetKsqlClusterArgs $) { + this.displayName = $.displayName; + this.environment = $.environment; + this.id = $.id; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GetKsqlClusterArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GetKsqlClusterArgs $; + + public Builder() { + $ = new GetKsqlClusterArgs(); + } + + public Builder(GetKsqlClusterArgs defaults) { + $ = new GetKsqlClusterArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param displayName The name of the ksqlDB cluster. + * + * @return builder + * + */ + public Builder displayName(@Nullable Output displayName) { + $.displayName = displayName; + return this; + } + + /** + * @param displayName The name of the ksqlDB cluster. + * + * @return builder + * + */ + public Builder displayName(String displayName) { + return displayName(Output.of(displayName)); + } + + public Builder environment(Output environment) { + $.environment = environment; + return this; + } + + public Builder environment(GetKsqlClusterEnvironmentArgs environment) { + return environment(Output.of(environment)); + } + + /** + * @param id The ID of the Environment that the ksqlDB cluster belongs to, for example, `env-xyz456`. + * + * @return builder + * + */ + public Builder id(@Nullable Output id) { + $.id = id; + return this; + } + + /** + * @param id The ID of the Environment that the ksqlDB cluster belongs to, for example, `env-xyz456`. + * + * @return builder + * + */ + public Builder id(String id) { + return id(Output.of(id)); + } + + public GetKsqlClusterArgs build() { + $.environment = Objects.requireNonNull($.environment, "expected parameter 'environment' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/confluentcloud/inputs/GetKsqlClusterEnvironment.java b/sdk/java/src/main/java/com/pulumi/confluentcloud/inputs/GetKsqlClusterEnvironment.java new file mode 100644 index 00000000..f18c04ac --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/confluentcloud/inputs/GetKsqlClusterEnvironment.java @@ -0,0 +1,71 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.confluentcloud.inputs; + +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; + + +public final class GetKsqlClusterEnvironment extends com.pulumi.resources.InvokeArgs { + + public static final GetKsqlClusterEnvironment Empty = new GetKsqlClusterEnvironment(); + + /** + * The ID of the Environment that the ksqlDB cluster belongs to, for example, `env-xyz456`. + * + */ + @Import(name="id", required=true) + private String id; + + /** + * @return The ID of the Environment that the ksqlDB cluster belongs to, for example, `env-xyz456`. + * + */ + public String id() { + return this.id; + } + + private GetKsqlClusterEnvironment() {} + + private GetKsqlClusterEnvironment(GetKsqlClusterEnvironment $) { + this.id = $.id; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GetKsqlClusterEnvironment defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GetKsqlClusterEnvironment $; + + public Builder() { + $ = new GetKsqlClusterEnvironment(); + } + + public Builder(GetKsqlClusterEnvironment defaults) { + $ = new GetKsqlClusterEnvironment(Objects.requireNonNull(defaults)); + } + + /** + * @param id The ID of the Environment that the ksqlDB cluster belongs to, for example, `env-xyz456`. + * + * @return builder + * + */ + public Builder id(String id) { + $.id = id; + return this; + } + + public GetKsqlClusterEnvironment build() { + $.id = Objects.requireNonNull($.id, "expected parameter 'id' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/confluentcloud/inputs/GetKsqlClusterEnvironmentArgs.java b/sdk/java/src/main/java/com/pulumi/confluentcloud/inputs/GetKsqlClusterEnvironmentArgs.java new file mode 100644 index 00000000..75345fc8 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/confluentcloud/inputs/GetKsqlClusterEnvironmentArgs.java @@ -0,0 +1,82 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.confluentcloud.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; + + +public final class GetKsqlClusterEnvironmentArgs extends com.pulumi.resources.ResourceArgs { + + public static final GetKsqlClusterEnvironmentArgs Empty = new GetKsqlClusterEnvironmentArgs(); + + /** + * The ID of the Environment that the ksqlDB cluster belongs to, for example, `env-xyz456`. + * + */ + @Import(name="id", required=true) + private Output id; + + /** + * @return The ID of the Environment that the ksqlDB cluster belongs to, for example, `env-xyz456`. + * + */ + public Output id() { + return this.id; + } + + private GetKsqlClusterEnvironmentArgs() {} + + private GetKsqlClusterEnvironmentArgs(GetKsqlClusterEnvironmentArgs $) { + this.id = $.id; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GetKsqlClusterEnvironmentArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GetKsqlClusterEnvironmentArgs $; + + public Builder() { + $ = new GetKsqlClusterEnvironmentArgs(); + } + + public Builder(GetKsqlClusterEnvironmentArgs defaults) { + $ = new GetKsqlClusterEnvironmentArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param id The ID of the Environment that the ksqlDB cluster belongs to, for example, `env-xyz456`. + * + * @return builder + * + */ + public Builder id(Output id) { + $.id = id; + return this; + } + + /** + * @param id The ID of the Environment that the ksqlDB cluster belongs to, for example, `env-xyz456`. + * + * @return builder + * + */ + public Builder id(String id) { + return id(Output.of(id)); + } + + public GetKsqlClusterEnvironmentArgs build() { + $.id = Objects.requireNonNull($.id, "expected parameter 'id' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/confluentcloud/inputs/GetKsqlClusterPlainArgs.java b/sdk/java/src/main/java/com/pulumi/confluentcloud/inputs/GetKsqlClusterPlainArgs.java new file mode 100644 index 00000000..5e108b58 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/confluentcloud/inputs/GetKsqlClusterPlainArgs.java @@ -0,0 +1,114 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.confluentcloud.inputs; + +import com.pulumi.confluentcloud.inputs.GetKsqlClusterEnvironment; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class GetKsqlClusterPlainArgs extends com.pulumi.resources.InvokeArgs { + + public static final GetKsqlClusterPlainArgs Empty = new GetKsqlClusterPlainArgs(); + + /** + * The name of the ksqlDB cluster. + * + */ + @Import(name="displayName") + private @Nullable String displayName; + + /** + * @return The name of the ksqlDB cluster. + * + */ + public Optional displayName() { + return Optional.ofNullable(this.displayName); + } + + @Import(name="environment", required=true) + private GetKsqlClusterEnvironment environment; + + public GetKsqlClusterEnvironment environment() { + return this.environment; + } + + /** + * The ID of the Environment that the ksqlDB cluster belongs to, for example, `env-xyz456`. + * + */ + @Import(name="id") + private @Nullable String id; + + /** + * @return The ID of the Environment that the ksqlDB cluster belongs to, for example, `env-xyz456`. + * + */ + public Optional id() { + return Optional.ofNullable(this.id); + } + + private GetKsqlClusterPlainArgs() {} + + private GetKsqlClusterPlainArgs(GetKsqlClusterPlainArgs $) { + this.displayName = $.displayName; + this.environment = $.environment; + this.id = $.id; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GetKsqlClusterPlainArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GetKsqlClusterPlainArgs $; + + public Builder() { + $ = new GetKsqlClusterPlainArgs(); + } + + public Builder(GetKsqlClusterPlainArgs defaults) { + $ = new GetKsqlClusterPlainArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param displayName The name of the ksqlDB cluster. + * + * @return builder + * + */ + public Builder displayName(@Nullable String displayName) { + $.displayName = displayName; + return this; + } + + public Builder environment(GetKsqlClusterEnvironment environment) { + $.environment = environment; + return this; + } + + /** + * @param id The ID of the Environment that the ksqlDB cluster belongs to, for example, `env-xyz456`. + * + * @return builder + * + */ + public Builder id(@Nullable String id) { + $.id = id; + return this; + } + + public GetKsqlClusterPlainArgs build() { + $.environment = Objects.requireNonNull($.environment, "expected parameter 'environment' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/confluentcloud/inputs/GetNetworkGcp.java b/sdk/java/src/main/java/com/pulumi/confluentcloud/inputs/GetNetworkGcp.java index 91ac6cf4..d6ce11f8 100644 --- a/sdk/java/src/main/java/com/pulumi/confluentcloud/inputs/GetNetworkGcp.java +++ b/sdk/java/src/main/java/com/pulumi/confluentcloud/inputs/GetNetworkGcp.java @@ -5,6 +5,7 @@ import com.pulumi.core.annotations.Import; import java.lang.String; +import java.util.Map; import java.util.Objects; @@ -13,14 +14,29 @@ public final class GetNetworkGcp extends com.pulumi.resources.InvokeArgs { public static final GetNetworkGcp Empty = new GetNetworkGcp(); /** - * (Required String) The GCP project. + * (Optional Map) The mapping of zones to Private Service Connect service attachments if available. Keys are zones and values are [GCP Private Service Connect service attachment](https://cloud.google.com/vpc/docs/configure-private-service-connect-producer#api_7). + * + */ + @Import(name="privateServiceConnectServiceAttachments", required=true) + private Map privateServiceConnectServiceAttachments; + + /** + * @return (Optional Map) The mapping of zones to Private Service Connect service attachments if available. Keys are zones and values are [GCP Private Service Connect service attachment](https://cloud.google.com/vpc/docs/configure-private-service-connect-producer#api_7). + * + */ + public Map privateServiceConnectServiceAttachments() { + return this.privateServiceConnectServiceAttachments; + } + + /** + * (Required String) The GCP project ID. * */ @Import(name="project", required=true) private String project; /** - * @return (Required String) The GCP project. + * @return (Required String) The GCP project ID. * */ public String project() { @@ -45,6 +61,7 @@ public String vpcNetwork() { private GetNetworkGcp() {} private GetNetworkGcp(GetNetworkGcp $) { + this.privateServiceConnectServiceAttachments = $.privateServiceConnectServiceAttachments; this.project = $.project; this.vpcNetwork = $.vpcNetwork; } @@ -68,7 +85,18 @@ public Builder(GetNetworkGcp defaults) { } /** - * @param project (Required String) The GCP project. + * @param privateServiceConnectServiceAttachments (Optional Map) The mapping of zones to Private Service Connect service attachments if available. Keys are zones and values are [GCP Private Service Connect service attachment](https://cloud.google.com/vpc/docs/configure-private-service-connect-producer#api_7). + * + * @return builder + * + */ + public Builder privateServiceConnectServiceAttachments(Map privateServiceConnectServiceAttachments) { + $.privateServiceConnectServiceAttachments = privateServiceConnectServiceAttachments; + return this; + } + + /** + * @param project (Required String) The GCP project ID. * * @return builder * @@ -90,6 +118,7 @@ public Builder vpcNetwork(String vpcNetwork) { } public GetNetworkGcp build() { + $.privateServiceConnectServiceAttachments = Objects.requireNonNull($.privateServiceConnectServiceAttachments, "expected parameter 'privateServiceConnectServiceAttachments' to be non-null"); $.project = Objects.requireNonNull($.project, "expected parameter 'project' to be non-null"); $.vpcNetwork = Objects.requireNonNull($.vpcNetwork, "expected parameter 'vpcNetwork' to be non-null"); return $; diff --git a/sdk/java/src/main/java/com/pulumi/confluentcloud/inputs/GetNetworkGcpArgs.java b/sdk/java/src/main/java/com/pulumi/confluentcloud/inputs/GetNetworkGcpArgs.java index d1084719..8e50e39b 100644 --- a/sdk/java/src/main/java/com/pulumi/confluentcloud/inputs/GetNetworkGcpArgs.java +++ b/sdk/java/src/main/java/com/pulumi/confluentcloud/inputs/GetNetworkGcpArgs.java @@ -6,6 +6,7 @@ import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; import java.lang.String; +import java.util.Map; import java.util.Objects; @@ -14,14 +15,29 @@ public final class GetNetworkGcpArgs extends com.pulumi.resources.ResourceArgs { public static final GetNetworkGcpArgs Empty = new GetNetworkGcpArgs(); /** - * (Required String) The GCP project. + * (Optional Map) The mapping of zones to Private Service Connect service attachments if available. Keys are zones and values are [GCP Private Service Connect service attachment](https://cloud.google.com/vpc/docs/configure-private-service-connect-producer#api_7). + * + */ + @Import(name="privateServiceConnectServiceAttachments", required=true) + private Output> privateServiceConnectServiceAttachments; + + /** + * @return (Optional Map) The mapping of zones to Private Service Connect service attachments if available. Keys are zones and values are [GCP Private Service Connect service attachment](https://cloud.google.com/vpc/docs/configure-private-service-connect-producer#api_7). + * + */ + public Output> privateServiceConnectServiceAttachments() { + return this.privateServiceConnectServiceAttachments; + } + + /** + * (Required String) The GCP project ID. * */ @Import(name="project", required=true) private Output project; /** - * @return (Required String) The GCP project. + * @return (Required String) The GCP project ID. * */ public Output project() { @@ -46,6 +62,7 @@ public Output vpcNetwork() { private GetNetworkGcpArgs() {} private GetNetworkGcpArgs(GetNetworkGcpArgs $) { + this.privateServiceConnectServiceAttachments = $.privateServiceConnectServiceAttachments; this.project = $.project; this.vpcNetwork = $.vpcNetwork; } @@ -69,7 +86,28 @@ public Builder(GetNetworkGcpArgs defaults) { } /** - * @param project (Required String) The GCP project. + * @param privateServiceConnectServiceAttachments (Optional Map) The mapping of zones to Private Service Connect service attachments if available. Keys are zones and values are [GCP Private Service Connect service attachment](https://cloud.google.com/vpc/docs/configure-private-service-connect-producer#api_7). + * + * @return builder + * + */ + public Builder privateServiceConnectServiceAttachments(Output> privateServiceConnectServiceAttachments) { + $.privateServiceConnectServiceAttachments = privateServiceConnectServiceAttachments; + return this; + } + + /** + * @param privateServiceConnectServiceAttachments (Optional Map) The mapping of zones to Private Service Connect service attachments if available. Keys are zones and values are [GCP Private Service Connect service attachment](https://cloud.google.com/vpc/docs/configure-private-service-connect-producer#api_7). + * + * @return builder + * + */ + public Builder privateServiceConnectServiceAttachments(Map privateServiceConnectServiceAttachments) { + return privateServiceConnectServiceAttachments(Output.of(privateServiceConnectServiceAttachments)); + } + + /** + * @param project (Required String) The GCP project ID. * * @return builder * @@ -80,7 +118,7 @@ public Builder project(Output project) { } /** - * @param project (Required String) The GCP project. + * @param project (Required String) The GCP project ID. * * @return builder * @@ -111,6 +149,7 @@ public Builder vpcNetwork(String vpcNetwork) { } public GetNetworkGcpArgs build() { + $.privateServiceConnectServiceAttachments = Objects.requireNonNull($.privateServiceConnectServiceAttachments, "expected parameter 'privateServiceConnectServiceAttachments' to be non-null"); $.project = Objects.requireNonNull($.project, "expected parameter 'project' to be non-null"); $.vpcNetwork = Objects.requireNonNull($.vpcNetwork, "expected parameter 'vpcNetwork' to be non-null"); return $; diff --git a/sdk/java/src/main/java/com/pulumi/confluentcloud/inputs/IdentityPoolIdentityProviderArgs.java b/sdk/java/src/main/java/com/pulumi/confluentcloud/inputs/IdentityPoolIdentityProviderArgs.java new file mode 100644 index 00000000..0f8f20bc --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/confluentcloud/inputs/IdentityPoolIdentityProviderArgs.java @@ -0,0 +1,82 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.confluentcloud.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; + + +public final class IdentityPoolIdentityProviderArgs extends com.pulumi.resources.ResourceArgs { + + public static final IdentityPoolIdentityProviderArgs Empty = new IdentityPoolIdentityProviderArgs(); + + /** + * The ID of the Identity Provider associated with the Identity Pool, for example, `op-abc123`. + * + */ + @Import(name="id", required=true) + private Output id; + + /** + * @return The ID of the Identity Provider associated with the Identity Pool, for example, `op-abc123`. + * + */ + public Output id() { + return this.id; + } + + private IdentityPoolIdentityProviderArgs() {} + + private IdentityPoolIdentityProviderArgs(IdentityPoolIdentityProviderArgs $) { + this.id = $.id; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(IdentityPoolIdentityProviderArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private IdentityPoolIdentityProviderArgs $; + + public Builder() { + $ = new IdentityPoolIdentityProviderArgs(); + } + + public Builder(IdentityPoolIdentityProviderArgs defaults) { + $ = new IdentityPoolIdentityProviderArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param id The ID of the Identity Provider associated with the Identity Pool, for example, `op-abc123`. + * + * @return builder + * + */ + public Builder id(Output id) { + $.id = id; + return this; + } + + /** + * @param id The ID of the Identity Provider associated with the Identity Pool, for example, `op-abc123`. + * + * @return builder + * + */ + public Builder id(String id) { + return id(Output.of(id)); + } + + public IdentityPoolIdentityProviderArgs build() { + $.id = Objects.requireNonNull($.id, "expected parameter 'id' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/confluentcloud/inputs/IdentityPoolState.java b/sdk/java/src/main/java/com/pulumi/confluentcloud/inputs/IdentityPoolState.java new file mode 100644 index 00000000..ca323ef8 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/confluentcloud/inputs/IdentityPoolState.java @@ -0,0 +1,232 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.confluentcloud.inputs; + +import com.pulumi.confluentcloud.inputs.IdentityPoolIdentityProviderArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class IdentityPoolState extends com.pulumi.resources.ResourceArgs { + + public static final IdentityPoolState Empty = new IdentityPoolState(); + + /** + * A description for the Identity Pool. + * + */ + @Import(name="description") + private @Nullable Output description; + + /** + * @return A description for the Identity Pool. + * + */ + public Optional> description() { + return Optional.ofNullable(this.description); + } + + /** + * A human-readable name for the Identity Pool. + * + */ + @Import(name="displayName") + private @Nullable Output displayName; + + /** + * @return A human-readable name for the Identity Pool. + * + */ + public Optional> displayName() { + return Optional.ofNullable(this.displayName); + } + + /** + * A filter expression in [Supported Common Expression Language (CEL)](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html#supported-common-expression-language-cel-filters) that specifies which identities can authenticate using your identity pool (see [Set identity pool filters](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html#set-identity-pool-filters) for more details). + * + */ + @Import(name="filter") + private @Nullable Output filter; + + /** + * @return A filter expression in [Supported Common Expression Language (CEL)](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html#supported-common-expression-language-cel-filters) that specifies which identities can authenticate using your identity pool (see [Set identity pool filters](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html#set-identity-pool-filters) for more details). + * + */ + public Optional> filter() { + return Optional.ofNullable(this.filter); + } + + /** + * The JSON Web Token (JWT) claim to extract the authenticating identity to Confluent resources from (see [Registered Claim Names](https://datatracker.ietf.org/doc/html/rfc7519#section-4.1) for more details). This appears in the audit log records, showing, for example, that "identity Z used identity pool X to access topic A". + * + */ + @Import(name="identityClaim") + private @Nullable Output identityClaim; + + /** + * @return The JSON Web Token (JWT) claim to extract the authenticating identity to Confluent resources from (see [Registered Claim Names](https://datatracker.ietf.org/doc/html/rfc7519#section-4.1) for more details). This appears in the audit log records, showing, for example, that "identity Z used identity pool X to access topic A". + * + */ + public Optional> identityClaim() { + return Optional.ofNullable(this.identityClaim); + } + + /** + * Identity Provider objects represent external OAuth/OpenID Connect providers within Confluent Cloud. + * + */ + @Import(name="identityProvider") + private @Nullable Output identityProvider; + + /** + * @return Identity Provider objects represent external OAuth/OpenID Connect providers within Confluent Cloud. + * + */ + public Optional> identityProvider() { + return Optional.ofNullable(this.identityProvider); + } + + private IdentityPoolState() {} + + private IdentityPoolState(IdentityPoolState $) { + this.description = $.description; + this.displayName = $.displayName; + this.filter = $.filter; + this.identityClaim = $.identityClaim; + this.identityProvider = $.identityProvider; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(IdentityPoolState defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private IdentityPoolState $; + + public Builder() { + $ = new IdentityPoolState(); + } + + public Builder(IdentityPoolState defaults) { + $ = new IdentityPoolState(Objects.requireNonNull(defaults)); + } + + /** + * @param description A description for the Identity Pool. + * + * @return builder + * + */ + public Builder description(@Nullable Output description) { + $.description = description; + return this; + } + + /** + * @param description A description for the Identity Pool. + * + * @return builder + * + */ + public Builder description(String description) { + return description(Output.of(description)); + } + + /** + * @param displayName A human-readable name for the Identity Pool. + * + * @return builder + * + */ + public Builder displayName(@Nullable Output displayName) { + $.displayName = displayName; + return this; + } + + /** + * @param displayName A human-readable name for the Identity Pool. + * + * @return builder + * + */ + public Builder displayName(String displayName) { + return displayName(Output.of(displayName)); + } + + /** + * @param filter A filter expression in [Supported Common Expression Language (CEL)](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html#supported-common-expression-language-cel-filters) that specifies which identities can authenticate using your identity pool (see [Set identity pool filters](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html#set-identity-pool-filters) for more details). + * + * @return builder + * + */ + public Builder filter(@Nullable Output filter) { + $.filter = filter; + return this; + } + + /** + * @param filter A filter expression in [Supported Common Expression Language (CEL)](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html#supported-common-expression-language-cel-filters) that specifies which identities can authenticate using your identity pool (see [Set identity pool filters](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html#set-identity-pool-filters) for more details). + * + * @return builder + * + */ + public Builder filter(String filter) { + return filter(Output.of(filter)); + } + + /** + * @param identityClaim The JSON Web Token (JWT) claim to extract the authenticating identity to Confluent resources from (see [Registered Claim Names](https://datatracker.ietf.org/doc/html/rfc7519#section-4.1) for more details). This appears in the audit log records, showing, for example, that "identity Z used identity pool X to access topic A". + * + * @return builder + * + */ + public Builder identityClaim(@Nullable Output identityClaim) { + $.identityClaim = identityClaim; + return this; + } + + /** + * @param identityClaim The JSON Web Token (JWT) claim to extract the authenticating identity to Confluent resources from (see [Registered Claim Names](https://datatracker.ietf.org/doc/html/rfc7519#section-4.1) for more details). This appears in the audit log records, showing, for example, that "identity Z used identity pool X to access topic A". + * + * @return builder + * + */ + public Builder identityClaim(String identityClaim) { + return identityClaim(Output.of(identityClaim)); + } + + /** + * @param identityProvider Identity Provider objects represent external OAuth/OpenID Connect providers within Confluent Cloud. + * + * @return builder + * + */ + public Builder identityProvider(@Nullable Output identityProvider) { + $.identityProvider = identityProvider; + return this; + } + + /** + * @param identityProvider Identity Provider objects represent external OAuth/OpenID Connect providers within Confluent Cloud. + * + * @return builder + * + */ + public Builder identityProvider(IdentityPoolIdentityProviderArgs identityProvider) { + return identityProvider(Output.of(identityProvider)); + } + + public IdentityPoolState build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/confluentcloud/inputs/IdentityProviderState.java b/sdk/java/src/main/java/com/pulumi/confluentcloud/inputs/IdentityProviderState.java new file mode 100644 index 00000000..4152fb90 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/confluentcloud/inputs/IdentityProviderState.java @@ -0,0 +1,194 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.confluentcloud.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class IdentityProviderState extends com.pulumi.resources.ResourceArgs { + + public static final IdentityProviderState Empty = new IdentityProviderState(); + + /** + * A description for the Identity Provider. + * + */ + @Import(name="description") + private @Nullable Output description; + + /** + * @return A description for the Identity Provider. + * + */ + public Optional> description() { + return Optional.ofNullable(this.description); + } + + /** + * A human-readable name for the Identity Provider. + * + */ + @Import(name="displayName") + private @Nullable Output displayName; + + /** + * @return A human-readable name for the Identity Provider. + * + */ + public Optional> displayName() { + return Optional.ofNullable(this.displayName); + } + + /** + * A publicly reachable issuer URI for the Identity Provider. The unique issuer URI string represents the entity for issuing tokens. + * + */ + @Import(name="issuer") + private @Nullable Output issuer; + + /** + * @return A publicly reachable issuer URI for the Identity Provider. The unique issuer URI string represents the entity for issuing tokens. + * + */ + public Optional> issuer() { + return Optional.ofNullable(this.issuer); + } + + /** + * A publicly reachable JSON Web Key Set (JWKS) URI for the Identity Provider. A JSON Web Key Set (JWKS) provides a set of keys containing the public keys used to verify any JSON Web Token (JWT) issued by your OAuth 2.0 identity provider. + * + */ + @Import(name="jwksUri") + private @Nullable Output jwksUri; + + /** + * @return A publicly reachable JSON Web Key Set (JWKS) URI for the Identity Provider. A JSON Web Key Set (JWKS) provides a set of keys containing the public keys used to verify any JSON Web Token (JWT) issued by your OAuth 2.0 identity provider. + * + */ + public Optional> jwksUri() { + return Optional.ofNullable(this.jwksUri); + } + + private IdentityProviderState() {} + + private IdentityProviderState(IdentityProviderState $) { + this.description = $.description; + this.displayName = $.displayName; + this.issuer = $.issuer; + this.jwksUri = $.jwksUri; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(IdentityProviderState defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private IdentityProviderState $; + + public Builder() { + $ = new IdentityProviderState(); + } + + public Builder(IdentityProviderState defaults) { + $ = new IdentityProviderState(Objects.requireNonNull(defaults)); + } + + /** + * @param description A description for the Identity Provider. + * + * @return builder + * + */ + public Builder description(@Nullable Output description) { + $.description = description; + return this; + } + + /** + * @param description A description for the Identity Provider. + * + * @return builder + * + */ + public Builder description(String description) { + return description(Output.of(description)); + } + + /** + * @param displayName A human-readable name for the Identity Provider. + * + * @return builder + * + */ + public Builder displayName(@Nullable Output displayName) { + $.displayName = displayName; + return this; + } + + /** + * @param displayName A human-readable name for the Identity Provider. + * + * @return builder + * + */ + public Builder displayName(String displayName) { + return displayName(Output.of(displayName)); + } + + /** + * @param issuer A publicly reachable issuer URI for the Identity Provider. The unique issuer URI string represents the entity for issuing tokens. + * + * @return builder + * + */ + public Builder issuer(@Nullable Output issuer) { + $.issuer = issuer; + return this; + } + + /** + * @param issuer A publicly reachable issuer URI for the Identity Provider. The unique issuer URI string represents the entity for issuing tokens. + * + * @return builder + * + */ + public Builder issuer(String issuer) { + return issuer(Output.of(issuer)); + } + + /** + * @param jwksUri A publicly reachable JSON Web Key Set (JWKS) URI for the Identity Provider. A JSON Web Key Set (JWKS) provides a set of keys containing the public keys used to verify any JSON Web Token (JWT) issued by your OAuth 2.0 identity provider. + * + * @return builder + * + */ + public Builder jwksUri(@Nullable Output jwksUri) { + $.jwksUri = jwksUri; + return this; + } + + /** + * @param jwksUri A publicly reachable JSON Web Key Set (JWKS) URI for the Identity Provider. A JSON Web Key Set (JWKS) provides a set of keys containing the public keys used to verify any JSON Web Token (JWT) issued by your OAuth 2.0 identity provider. + * + * @return builder + * + */ + public Builder jwksUri(String jwksUri) { + return jwksUri(Output.of(jwksUri)); + } + + public IdentityProviderState build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/confluentcloud/inputs/KsqlClusterCredentialIdentityArgs.java b/sdk/java/src/main/java/com/pulumi/confluentcloud/inputs/KsqlClusterCredentialIdentityArgs.java new file mode 100644 index 00000000..2eb89041 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/confluentcloud/inputs/KsqlClusterCredentialIdentityArgs.java @@ -0,0 +1,82 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.confluentcloud.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; + + +public final class KsqlClusterCredentialIdentityArgs extends com.pulumi.resources.ResourceArgs { + + public static final KsqlClusterCredentialIdentityArgs Empty = new KsqlClusterCredentialIdentityArgs(); + + /** + * The ID of the associated service or user account, for example, `sa-abc123`. + * + */ + @Import(name="id", required=true) + private Output id; + + /** + * @return The ID of the associated service or user account, for example, `sa-abc123`. + * + */ + public Output id() { + return this.id; + } + + private KsqlClusterCredentialIdentityArgs() {} + + private KsqlClusterCredentialIdentityArgs(KsqlClusterCredentialIdentityArgs $) { + this.id = $.id; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(KsqlClusterCredentialIdentityArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private KsqlClusterCredentialIdentityArgs $; + + public Builder() { + $ = new KsqlClusterCredentialIdentityArgs(); + } + + public Builder(KsqlClusterCredentialIdentityArgs defaults) { + $ = new KsqlClusterCredentialIdentityArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param id The ID of the associated service or user account, for example, `sa-abc123`. + * + * @return builder + * + */ + public Builder id(Output id) { + $.id = id; + return this; + } + + /** + * @param id The ID of the associated service or user account, for example, `sa-abc123`. + * + * @return builder + * + */ + public Builder id(String id) { + return id(Output.of(id)); + } + + public KsqlClusterCredentialIdentityArgs build() { + $.id = Objects.requireNonNull($.id, "expected parameter 'id' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/confluentcloud/inputs/KsqlClusterEnvironmentArgs.java b/sdk/java/src/main/java/com/pulumi/confluentcloud/inputs/KsqlClusterEnvironmentArgs.java new file mode 100644 index 00000000..c4c7abf7 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/confluentcloud/inputs/KsqlClusterEnvironmentArgs.java @@ -0,0 +1,82 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.confluentcloud.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; + + +public final class KsqlClusterEnvironmentArgs extends com.pulumi.resources.ResourceArgs { + + public static final KsqlClusterEnvironmentArgs Empty = new KsqlClusterEnvironmentArgs(); + + /** + * The ID of the associated service or user account, for example, `sa-abc123`. + * + */ + @Import(name="id", required=true) + private Output id; + + /** + * @return The ID of the associated service or user account, for example, `sa-abc123`. + * + */ + public Output id() { + return this.id; + } + + private KsqlClusterEnvironmentArgs() {} + + private KsqlClusterEnvironmentArgs(KsqlClusterEnvironmentArgs $) { + this.id = $.id; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(KsqlClusterEnvironmentArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private KsqlClusterEnvironmentArgs $; + + public Builder() { + $ = new KsqlClusterEnvironmentArgs(); + } + + public Builder(KsqlClusterEnvironmentArgs defaults) { + $ = new KsqlClusterEnvironmentArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param id The ID of the associated service or user account, for example, `sa-abc123`. + * + * @return builder + * + */ + public Builder id(Output id) { + $.id = id; + return this; + } + + /** + * @param id The ID of the associated service or user account, for example, `sa-abc123`. + * + * @return builder + * + */ + public Builder id(String id) { + return id(Output.of(id)); + } + + public KsqlClusterEnvironmentArgs build() { + $.id = Objects.requireNonNull($.id, "expected parameter 'id' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/confluentcloud/inputs/KsqlClusterKafkaClusterArgs.java b/sdk/java/src/main/java/com/pulumi/confluentcloud/inputs/KsqlClusterKafkaClusterArgs.java new file mode 100644 index 00000000..e1c5f41d --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/confluentcloud/inputs/KsqlClusterKafkaClusterArgs.java @@ -0,0 +1,82 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.confluentcloud.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; + + +public final class KsqlClusterKafkaClusterArgs extends com.pulumi.resources.ResourceArgs { + + public static final KsqlClusterKafkaClusterArgs Empty = new KsqlClusterKafkaClusterArgs(); + + /** + * The ID of the associated service or user account, for example, `sa-abc123`. + * + */ + @Import(name="id", required=true) + private Output id; + + /** + * @return The ID of the associated service or user account, for example, `sa-abc123`. + * + */ + public Output id() { + return this.id; + } + + private KsqlClusterKafkaClusterArgs() {} + + private KsqlClusterKafkaClusterArgs(KsqlClusterKafkaClusterArgs $) { + this.id = $.id; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(KsqlClusterKafkaClusterArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private KsqlClusterKafkaClusterArgs $; + + public Builder() { + $ = new KsqlClusterKafkaClusterArgs(); + } + + public Builder(KsqlClusterKafkaClusterArgs defaults) { + $ = new KsqlClusterKafkaClusterArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param id The ID of the associated service or user account, for example, `sa-abc123`. + * + * @return builder + * + */ + public Builder id(Output id) { + $.id = id; + return this; + } + + /** + * @param id The ID of the associated service or user account, for example, `sa-abc123`. + * + * @return builder + * + */ + public Builder id(String id) { + return id(Output.of(id)); + } + + public KsqlClusterKafkaClusterArgs build() { + $.id = Objects.requireNonNull($.id, "expected parameter 'id' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/confluentcloud/inputs/KsqlClusterState.java b/sdk/java/src/main/java/com/pulumi/confluentcloud/inputs/KsqlClusterState.java new file mode 100644 index 00000000..af882e66 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/confluentcloud/inputs/KsqlClusterState.java @@ -0,0 +1,418 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.confluentcloud.inputs; + +import com.pulumi.confluentcloud.inputs.KsqlClusterCredentialIdentityArgs; +import com.pulumi.confluentcloud.inputs.KsqlClusterEnvironmentArgs; +import com.pulumi.confluentcloud.inputs.KsqlClusterKafkaClusterArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Boolean; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class KsqlClusterState extends com.pulumi.resources.ResourceArgs { + + public static final KsqlClusterState Empty = new KsqlClusterState(); + + /** + * (Required String) An API Version of the schema version of the ksqlDB cluster, for example, `ksqldbcm/v2`. + * + */ + @Import(name="apiVersion") + private @Nullable Output apiVersion; + + /** + * @return (Required String) An API Version of the schema version of the ksqlDB cluster, for example, `ksqldbcm/v2`. + * + */ + public Optional> apiVersion() { + return Optional.ofNullable(this.apiVersion); + } + + @Import(name="credentialIdentity") + private @Nullable Output credentialIdentity; + + public Optional> credentialIdentity() { + return Optional.ofNullable(this.credentialIdentity); + } + + /** + * The number of Confluent Streaming Units (CSUs) for the ksqlDB cluster. + * + */ + @Import(name="csu") + private @Nullable Output csu; + + /** + * @return The number of Confluent Streaming Units (CSUs) for the ksqlDB cluster. + * + */ + public Optional> csu() { + return Optional.ofNullable(this.csu); + } + + /** + * The name of the ksqlDB cluster. + * + */ + @Import(name="displayName") + private @Nullable Output displayName; + + /** + * @return The name of the ksqlDB cluster. + * + */ + public Optional> displayName() { + return Optional.ofNullable(this.displayName); + } + + /** + * Environment objects represent an isolated namespace for your Confluent resources for organizational purposes. + * + */ + @Import(name="environment") + private @Nullable Output environment; + + /** + * @return Environment objects represent an isolated namespace for your Confluent resources for organizational purposes. + * + */ + public Optional> environment() { + return Optional.ofNullable(this.environment); + } + + /** + * (Required String) The API endpoint of the ksqlDB cluster, for example, `https://pksqlc-00000.us-central1.gcp.glb.confluent.cloud`. + * + */ + @Import(name="httpEndpoint") + private @Nullable Output httpEndpoint; + + /** + * @return (Required String) The API endpoint of the ksqlDB cluster, for example, `https://pksqlc-00000.us-central1.gcp.glb.confluent.cloud`. + * + */ + public Optional> httpEndpoint() { + return Optional.ofNullable(this.httpEndpoint); + } + + @Import(name="kafkaCluster") + private @Nullable Output kafkaCluster; + + public Optional> kafkaCluster() { + return Optional.ofNullable(this.kafkaCluster); + } + + /** + * (Required String) A kind of the ksqlDB cluster, for example, `Cluster`. + * + */ + @Import(name="kind") + private @Nullable Output kind; + + /** + * @return (Required String) A kind of the ksqlDB cluster, for example, `Cluster`. + * + */ + public Optional> kind() { + return Optional.ofNullable(this.kind); + } + + /** + * (Required Integer) The amount of storage (in GB) provisioned to the ksqlDB cluster. + * + */ + @Import(name="storage") + private @Nullable Output storage; + + /** + * @return (Required Integer) The amount of storage (in GB) provisioned to the ksqlDB cluster. + * + */ + public Optional> storage() { + return Optional.ofNullable(this.storage); + } + + /** + * (Required String) Topic name prefix used by this ksqlDB cluster. Used to assign ACLs for this ksqlDB cluster to use, for example, `pksqlc-00000`. + * + */ + @Import(name="topicPrefix") + private @Nullable Output topicPrefix; + + /** + * @return (Required String) Topic name prefix used by this ksqlDB cluster. Used to assign ACLs for this ksqlDB cluster to use, for example, `pksqlc-00000`. + * + */ + public Optional> topicPrefix() { + return Optional.ofNullable(this.topicPrefix); + } + + /** + * Controls whether the row data should be included in the processing log topic. Set it to `false` if you don't want to emit sensitive information to the processing log. Defaults to `true`. + * + */ + @Import(name="useDetailedProcessingLog") + private @Nullable Output useDetailedProcessingLog; + + /** + * @return Controls whether the row data should be included in the processing log topic. Set it to `false` if you don't want to emit sensitive information to the processing log. Defaults to `true`. + * + */ + public Optional> useDetailedProcessingLog() { + return Optional.ofNullable(this.useDetailedProcessingLog); + } + + private KsqlClusterState() {} + + private KsqlClusterState(KsqlClusterState $) { + this.apiVersion = $.apiVersion; + this.credentialIdentity = $.credentialIdentity; + this.csu = $.csu; + this.displayName = $.displayName; + this.environment = $.environment; + this.httpEndpoint = $.httpEndpoint; + this.kafkaCluster = $.kafkaCluster; + this.kind = $.kind; + this.storage = $.storage; + this.topicPrefix = $.topicPrefix; + this.useDetailedProcessingLog = $.useDetailedProcessingLog; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(KsqlClusterState defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private KsqlClusterState $; + + public Builder() { + $ = new KsqlClusterState(); + } + + public Builder(KsqlClusterState defaults) { + $ = new KsqlClusterState(Objects.requireNonNull(defaults)); + } + + /** + * @param apiVersion (Required String) An API Version of the schema version of the ksqlDB cluster, for example, `ksqldbcm/v2`. + * + * @return builder + * + */ + public Builder apiVersion(@Nullable Output apiVersion) { + $.apiVersion = apiVersion; + return this; + } + + /** + * @param apiVersion (Required String) An API Version of the schema version of the ksqlDB cluster, for example, `ksqldbcm/v2`. + * + * @return builder + * + */ + public Builder apiVersion(String apiVersion) { + return apiVersion(Output.of(apiVersion)); + } + + public Builder credentialIdentity(@Nullable Output credentialIdentity) { + $.credentialIdentity = credentialIdentity; + return this; + } + + public Builder credentialIdentity(KsqlClusterCredentialIdentityArgs credentialIdentity) { + return credentialIdentity(Output.of(credentialIdentity)); + } + + /** + * @param csu The number of Confluent Streaming Units (CSUs) for the ksqlDB cluster. + * + * @return builder + * + */ + public Builder csu(@Nullable Output csu) { + $.csu = csu; + return this; + } + + /** + * @param csu The number of Confluent Streaming Units (CSUs) for the ksqlDB cluster. + * + * @return builder + * + */ + public Builder csu(Integer csu) { + return csu(Output.of(csu)); + } + + /** + * @param displayName The name of the ksqlDB cluster. + * + * @return builder + * + */ + public Builder displayName(@Nullable Output displayName) { + $.displayName = displayName; + return this; + } + + /** + * @param displayName The name of the ksqlDB cluster. + * + * @return builder + * + */ + public Builder displayName(String displayName) { + return displayName(Output.of(displayName)); + } + + /** + * @param environment Environment objects represent an isolated namespace for your Confluent resources for organizational purposes. + * + * @return builder + * + */ + public Builder environment(@Nullable Output environment) { + $.environment = environment; + return this; + } + + /** + * @param environment Environment objects represent an isolated namespace for your Confluent resources for organizational purposes. + * + * @return builder + * + */ + public Builder environment(KsqlClusterEnvironmentArgs environment) { + return environment(Output.of(environment)); + } + + /** + * @param httpEndpoint (Required String) The API endpoint of the ksqlDB cluster, for example, `https://pksqlc-00000.us-central1.gcp.glb.confluent.cloud`. + * + * @return builder + * + */ + public Builder httpEndpoint(@Nullable Output httpEndpoint) { + $.httpEndpoint = httpEndpoint; + return this; + } + + /** + * @param httpEndpoint (Required String) The API endpoint of the ksqlDB cluster, for example, `https://pksqlc-00000.us-central1.gcp.glb.confluent.cloud`. + * + * @return builder + * + */ + public Builder httpEndpoint(String httpEndpoint) { + return httpEndpoint(Output.of(httpEndpoint)); + } + + public Builder kafkaCluster(@Nullable Output kafkaCluster) { + $.kafkaCluster = kafkaCluster; + return this; + } + + public Builder kafkaCluster(KsqlClusterKafkaClusterArgs kafkaCluster) { + return kafkaCluster(Output.of(kafkaCluster)); + } + + /** + * @param kind (Required String) A kind of the ksqlDB cluster, for example, `Cluster`. + * + * @return builder + * + */ + public Builder kind(@Nullable Output kind) { + $.kind = kind; + return this; + } + + /** + * @param kind (Required String) A kind of the ksqlDB cluster, for example, `Cluster`. + * + * @return builder + * + */ + public Builder kind(String kind) { + return kind(Output.of(kind)); + } + + /** + * @param storage (Required Integer) The amount of storage (in GB) provisioned to the ksqlDB cluster. + * + * @return builder + * + */ + public Builder storage(@Nullable Output storage) { + $.storage = storage; + return this; + } + + /** + * @param storage (Required Integer) The amount of storage (in GB) provisioned to the ksqlDB cluster. + * + * @return builder + * + */ + public Builder storage(Integer storage) { + return storage(Output.of(storage)); + } + + /** + * @param topicPrefix (Required String) Topic name prefix used by this ksqlDB cluster. Used to assign ACLs for this ksqlDB cluster to use, for example, `pksqlc-00000`. + * + * @return builder + * + */ + public Builder topicPrefix(@Nullable Output topicPrefix) { + $.topicPrefix = topicPrefix; + return this; + } + + /** + * @param topicPrefix (Required String) Topic name prefix used by this ksqlDB cluster. Used to assign ACLs for this ksqlDB cluster to use, for example, `pksqlc-00000`. + * + * @return builder + * + */ + public Builder topicPrefix(String topicPrefix) { + return topicPrefix(Output.of(topicPrefix)); + } + + /** + * @param useDetailedProcessingLog Controls whether the row data should be included in the processing log topic. Set it to `false` if you don't want to emit sensitive information to the processing log. Defaults to `true`. + * + * @return builder + * + */ + public Builder useDetailedProcessingLog(@Nullable Output useDetailedProcessingLog) { + $.useDetailedProcessingLog = useDetailedProcessingLog; + return this; + } + + /** + * @param useDetailedProcessingLog Controls whether the row data should be included in the processing log topic. Set it to `false` if you don't want to emit sensitive information to the processing log. Defaults to `true`. + * + * @return builder + * + */ + public Builder useDetailedProcessingLog(Boolean useDetailedProcessingLog) { + return useDetailedProcessingLog(Output.of(useDetailedProcessingLog)); + } + + public KsqlClusterState build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/confluentcloud/inputs/NetworkGcpArgs.java b/sdk/java/src/main/java/com/pulumi/confluentcloud/inputs/NetworkGcpArgs.java index 239e9d24..4e726cc7 100644 --- a/sdk/java/src/main/java/com/pulumi/confluentcloud/inputs/NetworkGcpArgs.java +++ b/sdk/java/src/main/java/com/pulumi/confluentcloud/inputs/NetworkGcpArgs.java @@ -6,6 +6,7 @@ import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; import java.lang.String; +import java.util.Map; import java.util.Objects; import java.util.Optional; import javax.annotation.Nullable; @@ -16,14 +17,29 @@ public final class NetworkGcpArgs extends com.pulumi.resources.ResourceArgs { public static final NetworkGcpArgs Empty = new NetworkGcpArgs(); /** - * (Required String) The GCP project. + * (Optional Map) The mapping of zones to Private Service Connect service attachments if available. Keys are zones and values are [GCP Private Service Connect service attachment](https://cloud.google.com/vpc/docs/configure-private-service-connect-producer#api_7). + * + */ + @Import(name="privateServiceConnectServiceAttachments") + private @Nullable Output> privateServiceConnectServiceAttachments; + + /** + * @return (Optional Map) The mapping of zones to Private Service Connect service attachments if available. Keys are zones and values are [GCP Private Service Connect service attachment](https://cloud.google.com/vpc/docs/configure-private-service-connect-producer#api_7). + * + */ + public Optional>> privateServiceConnectServiceAttachments() { + return Optional.ofNullable(this.privateServiceConnectServiceAttachments); + } + + /** + * (Required String) The GCP project ID. * */ @Import(name="project") private @Nullable Output project; /** - * @return (Required String) The GCP project. + * @return (Required String) The GCP project ID. * */ public Optional> project() { @@ -48,6 +64,7 @@ public Optional> vpcNetwork() { private NetworkGcpArgs() {} private NetworkGcpArgs(NetworkGcpArgs $) { + this.privateServiceConnectServiceAttachments = $.privateServiceConnectServiceAttachments; this.project = $.project; this.vpcNetwork = $.vpcNetwork; } @@ -71,7 +88,28 @@ public Builder(NetworkGcpArgs defaults) { } /** - * @param project (Required String) The GCP project. + * @param privateServiceConnectServiceAttachments (Optional Map) The mapping of zones to Private Service Connect service attachments if available. Keys are zones and values are [GCP Private Service Connect service attachment](https://cloud.google.com/vpc/docs/configure-private-service-connect-producer#api_7). + * + * @return builder + * + */ + public Builder privateServiceConnectServiceAttachments(@Nullable Output> privateServiceConnectServiceAttachments) { + $.privateServiceConnectServiceAttachments = privateServiceConnectServiceAttachments; + return this; + } + + /** + * @param privateServiceConnectServiceAttachments (Optional Map) The mapping of zones to Private Service Connect service attachments if available. Keys are zones and values are [GCP Private Service Connect service attachment](https://cloud.google.com/vpc/docs/configure-private-service-connect-producer#api_7). + * + * @return builder + * + */ + public Builder privateServiceConnectServiceAttachments(Map privateServiceConnectServiceAttachments) { + return privateServiceConnectServiceAttachments(Output.of(privateServiceConnectServiceAttachments)); + } + + /** + * @param project (Required String) The GCP project ID. * * @return builder * @@ -82,7 +120,7 @@ public Builder project(@Nullable Output project) { } /** - * @param project (Required String) The GCP project. + * @param project (Required String) The GCP project ID. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/confluentcloud/inputs/PrivateLinkAccessGcpArgs.java b/sdk/java/src/main/java/com/pulumi/confluentcloud/inputs/PrivateLinkAccessGcpArgs.java new file mode 100644 index 00000000..32aa3d68 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/confluentcloud/inputs/PrivateLinkAccessGcpArgs.java @@ -0,0 +1,82 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.confluentcloud.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; + + +public final class PrivateLinkAccessGcpArgs extends com.pulumi.resources.ResourceArgs { + + public static final PrivateLinkAccessGcpArgs Empty = new PrivateLinkAccessGcpArgs(); + + /** + * The GCP project ID to allow for Private Service Connect access. You can find your Google Cloud Project ID under **Project ID** section of your [Google Cloud Console dashboard](https://console.cloud.google.com/home/dashboard). + * + */ + @Import(name="project", required=true) + private Output project; + + /** + * @return The GCP project ID to allow for Private Service Connect access. You can find your Google Cloud Project ID under **Project ID** section of your [Google Cloud Console dashboard](https://console.cloud.google.com/home/dashboard). + * + */ + public Output project() { + return this.project; + } + + private PrivateLinkAccessGcpArgs() {} + + private PrivateLinkAccessGcpArgs(PrivateLinkAccessGcpArgs $) { + this.project = $.project; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(PrivateLinkAccessGcpArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private PrivateLinkAccessGcpArgs $; + + public Builder() { + $ = new PrivateLinkAccessGcpArgs(); + } + + public Builder(PrivateLinkAccessGcpArgs defaults) { + $ = new PrivateLinkAccessGcpArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param project The GCP project ID to allow for Private Service Connect access. You can find your Google Cloud Project ID under **Project ID** section of your [Google Cloud Console dashboard](https://console.cloud.google.com/home/dashboard). + * + * @return builder + * + */ + public Builder project(Output project) { + $.project = project; + return this; + } + + /** + * @param project The GCP project ID to allow for Private Service Connect access. You can find your Google Cloud Project ID under **Project ID** section of your [Google Cloud Console dashboard](https://console.cloud.google.com/home/dashboard). + * + * @return builder + * + */ + public Builder project(String project) { + return project(Output.of(project)); + } + + public PrivateLinkAccessGcpArgs build() { + $.project = Objects.requireNonNull($.project, "expected parameter 'project' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/confluentcloud/inputs/PrivateLinkAccessState.java b/sdk/java/src/main/java/com/pulumi/confluentcloud/inputs/PrivateLinkAccessState.java index dfdfadd7..4b979144 100644 --- a/sdk/java/src/main/java/com/pulumi/confluentcloud/inputs/PrivateLinkAccessState.java +++ b/sdk/java/src/main/java/com/pulumi/confluentcloud/inputs/PrivateLinkAccessState.java @@ -6,6 +6,7 @@ import com.pulumi.confluentcloud.inputs.PrivateLinkAccessAwsArgs; import com.pulumi.confluentcloud.inputs.PrivateLinkAccessAzureArgs; import com.pulumi.confluentcloud.inputs.PrivateLinkAccessEnvironmentArgs; +import com.pulumi.confluentcloud.inputs.PrivateLinkAccessGcpArgs; import com.pulumi.confluentcloud.inputs.PrivateLinkAccessNetworkArgs; import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; @@ -63,6 +64,13 @@ public Optional> environment() { return Optional.ofNullable(this.environment); } + @Import(name="gcp") + private @Nullable Output gcp; + + public Optional> gcp() { + return Optional.ofNullable(this.gcp); + } + /** * Network represents a network (VPC) in Confluent Cloud. All Networks exist within Confluent-managed cloud provider * accounts. @@ -87,6 +95,7 @@ private PrivateLinkAccessState(PrivateLinkAccessState $) { this.azure = $.azure; this.displayName = $.displayName; this.environment = $.environment; + this.gcp = $.gcp; this.network = $.network; } @@ -168,6 +177,15 @@ public Builder environment(PrivateLinkAccessEnvironmentArgs environment) { return environment(Output.of(environment)); } + public Builder gcp(@Nullable Output gcp) { + $.gcp = gcp; + return this; + } + + public Builder gcp(PrivateLinkAccessGcpArgs gcp) { + return gcp(Output.of(gcp)); + } + /** * @param network Network represents a network (VPC) in Confluent Cloud. All Networks exist within Confluent-managed cloud provider * accounts. diff --git a/sdk/java/src/main/java/com/pulumi/confluentcloud/outputs/GetIdentityPoolIdentityProvider.java b/sdk/java/src/main/java/com/pulumi/confluentcloud/outputs/GetIdentityPoolIdentityProvider.java new file mode 100644 index 00000000..b9956908 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/confluentcloud/outputs/GetIdentityPoolIdentityProvider.java @@ -0,0 +1,54 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.confluentcloud.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class GetIdentityPoolIdentityProvider { + /** + * @return The ID of the Identity Provider associated with the Identity Pool, for example, `op-abc123`. + * + */ + private String id; + + private GetIdentityPoolIdentityProvider() {} + /** + * @return The ID of the Identity Provider associated with the Identity Pool, for example, `op-abc123`. + * + */ + public String id() { + return this.id; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetIdentityPoolIdentityProvider defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String id; + public Builder() {} + public Builder(GetIdentityPoolIdentityProvider defaults) { + Objects.requireNonNull(defaults); + this.id = defaults.id; + } + + @CustomType.Setter + public Builder id(String id) { + this.id = Objects.requireNonNull(id); + return this; + } + public GetIdentityPoolIdentityProvider build() { + final var o = new GetIdentityPoolIdentityProvider(); + o.id = id; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/confluentcloud/outputs/GetIdentityPoolResult.java b/sdk/java/src/main/java/com/pulumi/confluentcloud/outputs/GetIdentityPoolResult.java new file mode 100644 index 00000000..38c6dc38 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/confluentcloud/outputs/GetIdentityPoolResult.java @@ -0,0 +1,147 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.confluentcloud.outputs; + +import com.pulumi.confluentcloud.outputs.GetIdentityPoolIdentityProvider; +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class GetIdentityPoolResult { + /** + * @return (Required String) A description for the Identity Pool. + * + */ + private String description; + /** + * @return (Required String) A human-readable name for the Identity Pool. + * + */ + private String displayName; + /** + * @return (Required String) A filter expression in [Supported Common Expression Language (CEL)](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html#supported-common-expression-language-cel-filters) that specifies which identities can authenticate using your identity pool (see [Set identity pool filters](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html#set-identity-pool-filters) for more details). + * + */ + private String filter; + /** + * @return (Required String) The ID of the Identity Provider associated with the Identity Pool, for example, `op-abc123`. + * + */ + private String id; + /** + * @return (Required String) The JSON Web Token (JWT) claim to extract the authenticating identity to Confluent resources from (see [Registered Claim Names](https://datatracker.ietf.org/doc/html/rfc7519#section-4.1) for more details). This appears in the audit log records, showing, for example, that "identity Z used identity pool X to access topic A". + * + */ + private String identityClaim; + private GetIdentityPoolIdentityProvider identityProvider; + + private GetIdentityPoolResult() {} + /** + * @return (Required String) A description for the Identity Pool. + * + */ + public String description() { + return this.description; + } + /** + * @return (Required String) A human-readable name for the Identity Pool. + * + */ + public String displayName() { + return this.displayName; + } + /** + * @return (Required String) A filter expression in [Supported Common Expression Language (CEL)](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html#supported-common-expression-language-cel-filters) that specifies which identities can authenticate using your identity pool (see [Set identity pool filters](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html#set-identity-pool-filters) for more details). + * + */ + public String filter() { + return this.filter; + } + /** + * @return (Required String) The ID of the Identity Provider associated with the Identity Pool, for example, `op-abc123`. + * + */ + public String id() { + return this.id; + } + /** + * @return (Required String) The JSON Web Token (JWT) claim to extract the authenticating identity to Confluent resources from (see [Registered Claim Names](https://datatracker.ietf.org/doc/html/rfc7519#section-4.1) for more details). This appears in the audit log records, showing, for example, that "identity Z used identity pool X to access topic A". + * + */ + public String identityClaim() { + return this.identityClaim; + } + public GetIdentityPoolIdentityProvider identityProvider() { + return this.identityProvider; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetIdentityPoolResult defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String description; + private String displayName; + private String filter; + private String id; + private String identityClaim; + private GetIdentityPoolIdentityProvider identityProvider; + public Builder() {} + public Builder(GetIdentityPoolResult defaults) { + Objects.requireNonNull(defaults); + this.description = defaults.description; + this.displayName = defaults.displayName; + this.filter = defaults.filter; + this.id = defaults.id; + this.identityClaim = defaults.identityClaim; + this.identityProvider = defaults.identityProvider; + } + + @CustomType.Setter + public Builder description(String description) { + this.description = Objects.requireNonNull(description); + return this; + } + @CustomType.Setter + public Builder displayName(String displayName) { + this.displayName = Objects.requireNonNull(displayName); + return this; + } + @CustomType.Setter + public Builder filter(String filter) { + this.filter = Objects.requireNonNull(filter); + return this; + } + @CustomType.Setter + public Builder id(String id) { + this.id = Objects.requireNonNull(id); + return this; + } + @CustomType.Setter + public Builder identityClaim(String identityClaim) { + this.identityClaim = Objects.requireNonNull(identityClaim); + return this; + } + @CustomType.Setter + public Builder identityProvider(GetIdentityPoolIdentityProvider identityProvider) { + this.identityProvider = Objects.requireNonNull(identityProvider); + return this; + } + public GetIdentityPoolResult build() { + final var o = new GetIdentityPoolResult(); + o.description = description; + o.displayName = displayName; + o.filter = filter; + o.id = id; + o.identityClaim = identityClaim; + o.identityProvider = identityProvider; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/confluentcloud/outputs/GetIdentityProviderResult.java b/sdk/java/src/main/java/com/pulumi/confluentcloud/outputs/GetIdentityProviderResult.java new file mode 100644 index 00000000..eb2a9713 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/confluentcloud/outputs/GetIdentityProviderResult.java @@ -0,0 +1,134 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.confluentcloud.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class GetIdentityProviderResult { + /** + * @return (Required String) A description for the Identity Provider. + * + */ + private String description; + /** + * @return (Required String) A human-readable name for the Identity Provider. + * + */ + private String displayName; + /** + * @return (Required String) The ID of the Identity Provider, for example, `op-abc123`. + * + */ + private String id; + /** + * @return (Required String) A publicly reachable issuer URI for the Identity Provider. The unique issuer URI string represents the entity for issuing tokens. + * + */ + private String issuer; + /** + * @return (Required String) A publicly reachable JSON Web Key Set (JWKS) URI for the Identity Provider. A JSON Web Key Set (JWKS) provides a set of keys containing the public keys used to verify any JSON Web Token (JWT) issued by your OAuth 2.0 identity provider. + * + */ + private String jwksUri; + + private GetIdentityProviderResult() {} + /** + * @return (Required String) A description for the Identity Provider. + * + */ + public String description() { + return this.description; + } + /** + * @return (Required String) A human-readable name for the Identity Provider. + * + */ + public String displayName() { + return this.displayName; + } + /** + * @return (Required String) The ID of the Identity Provider, for example, `op-abc123`. + * + */ + public String id() { + return this.id; + } + /** + * @return (Required String) A publicly reachable issuer URI for the Identity Provider. The unique issuer URI string represents the entity for issuing tokens. + * + */ + public String issuer() { + return this.issuer; + } + /** + * @return (Required String) A publicly reachable JSON Web Key Set (JWKS) URI for the Identity Provider. A JSON Web Key Set (JWKS) provides a set of keys containing the public keys used to verify any JSON Web Token (JWT) issued by your OAuth 2.0 identity provider. + * + */ + public String jwksUri() { + return this.jwksUri; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetIdentityProviderResult defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String description; + private String displayName; + private String id; + private String issuer; + private String jwksUri; + public Builder() {} + public Builder(GetIdentityProviderResult defaults) { + Objects.requireNonNull(defaults); + this.description = defaults.description; + this.displayName = defaults.displayName; + this.id = defaults.id; + this.issuer = defaults.issuer; + this.jwksUri = defaults.jwksUri; + } + + @CustomType.Setter + public Builder description(String description) { + this.description = Objects.requireNonNull(description); + return this; + } + @CustomType.Setter + public Builder displayName(String displayName) { + this.displayName = Objects.requireNonNull(displayName); + return this; + } + @CustomType.Setter + public Builder id(String id) { + this.id = Objects.requireNonNull(id); + return this; + } + @CustomType.Setter + public Builder issuer(String issuer) { + this.issuer = Objects.requireNonNull(issuer); + return this; + } + @CustomType.Setter + public Builder jwksUri(String jwksUri) { + this.jwksUri = Objects.requireNonNull(jwksUri); + return this; + } + public GetIdentityProviderResult build() { + final var o = new GetIdentityProviderResult(); + o.description = description; + o.displayName = displayName; + o.id = id; + o.issuer = issuer; + o.jwksUri = jwksUri; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/confluentcloud/outputs/GetKsqlClusterCredentialIdentity.java b/sdk/java/src/main/java/com/pulumi/confluentcloud/outputs/GetKsqlClusterCredentialIdentity.java new file mode 100644 index 00000000..98d2a191 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/confluentcloud/outputs/GetKsqlClusterCredentialIdentity.java @@ -0,0 +1,54 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.confluentcloud.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class GetKsqlClusterCredentialIdentity { + /** + * @return The ID of the Environment that the ksqlDB cluster belongs to, for example, `env-xyz456`. + * + */ + private String id; + + private GetKsqlClusterCredentialIdentity() {} + /** + * @return The ID of the Environment that the ksqlDB cluster belongs to, for example, `env-xyz456`. + * + */ + public String id() { + return this.id; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetKsqlClusterCredentialIdentity defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String id; + public Builder() {} + public Builder(GetKsqlClusterCredentialIdentity defaults) { + Objects.requireNonNull(defaults); + this.id = defaults.id; + } + + @CustomType.Setter + public Builder id(String id) { + this.id = Objects.requireNonNull(id); + return this; + } + public GetKsqlClusterCredentialIdentity build() { + final var o = new GetKsqlClusterCredentialIdentity(); + o.id = id; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/confluentcloud/outputs/GetKsqlClusterEnvironment.java b/sdk/java/src/main/java/com/pulumi/confluentcloud/outputs/GetKsqlClusterEnvironment.java new file mode 100644 index 00000000..d47591c8 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/confluentcloud/outputs/GetKsqlClusterEnvironment.java @@ -0,0 +1,54 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.confluentcloud.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class GetKsqlClusterEnvironment { + /** + * @return The ID of the Environment that the ksqlDB cluster belongs to, for example, `env-xyz456`. + * + */ + private String id; + + private GetKsqlClusterEnvironment() {} + /** + * @return The ID of the Environment that the ksqlDB cluster belongs to, for example, `env-xyz456`. + * + */ + public String id() { + return this.id; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetKsqlClusterEnvironment defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String id; + public Builder() {} + public Builder(GetKsqlClusterEnvironment defaults) { + Objects.requireNonNull(defaults); + this.id = defaults.id; + } + + @CustomType.Setter + public Builder id(String id) { + this.id = Objects.requireNonNull(id); + return this; + } + public GetKsqlClusterEnvironment build() { + final var o = new GetKsqlClusterEnvironment(); + o.id = id; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/confluentcloud/outputs/GetKsqlClusterKafkaCluster.java b/sdk/java/src/main/java/com/pulumi/confluentcloud/outputs/GetKsqlClusterKafkaCluster.java new file mode 100644 index 00000000..c744abab --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/confluentcloud/outputs/GetKsqlClusterKafkaCluster.java @@ -0,0 +1,54 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.confluentcloud.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class GetKsqlClusterKafkaCluster { + /** + * @return The ID of the Environment that the ksqlDB cluster belongs to, for example, `env-xyz456`. + * + */ + private String id; + + private GetKsqlClusterKafkaCluster() {} + /** + * @return The ID of the Environment that the ksqlDB cluster belongs to, for example, `env-xyz456`. + * + */ + public String id() { + return this.id; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetKsqlClusterKafkaCluster defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String id; + public Builder() {} + public Builder(GetKsqlClusterKafkaCluster defaults) { + Objects.requireNonNull(defaults); + this.id = defaults.id; + } + + @CustomType.Setter + public Builder id(String id) { + this.id = Objects.requireNonNull(id); + return this; + } + public GetKsqlClusterKafkaCluster build() { + final var o = new GetKsqlClusterKafkaCluster(); + o.id = id; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/confluentcloud/outputs/GetKsqlClusterResult.java b/sdk/java/src/main/java/com/pulumi/confluentcloud/outputs/GetKsqlClusterResult.java new file mode 100644 index 00000000..4c30e6ef --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/confluentcloud/outputs/GetKsqlClusterResult.java @@ -0,0 +1,250 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.confluentcloud.outputs; + +import com.pulumi.confluentcloud.outputs.GetKsqlClusterCredentialIdentity; +import com.pulumi.confluentcloud.outputs.GetKsqlClusterEnvironment; +import com.pulumi.confluentcloud.outputs.GetKsqlClusterKafkaCluster; +import com.pulumi.core.annotations.CustomType; +import java.lang.Boolean; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class GetKsqlClusterResult { + /** + * @return (Required String) An API Version of the schema version of the ksqlDB cluster, for example, `ksqldbcm/v2`. + * + */ + private String apiVersion; + private List credentialIdentities; + /** + * @return (Required Number) The number of CSUs (Confluent Streaming Units) in the ksqlDB cluster. + * - `use_detailed_processing_log` (Optional Boolean) Controls whether the row data should be included in the processing log topic. + * + */ + private Integer csu; + private String displayName; + private GetKsqlClusterEnvironment environment; + /** + * @return (Required String) The API endpoint of the ksqlDB cluster, for example, `https://pksqlc-00000.us-central1.gcp.glb.confluent.cloud`. + * - `kafka_cluster` (Optional Configuration Block) supports the following: + * + */ + private String httpEndpoint; + /** + * @return (Required String) The ID of the service or user account that the ksqlDB cluster belongs to, for example, `sa-abc123`. + * + */ + private String id; + private List kafkaClusters; + /** + * @return (Required String) A kind of the ksqlDB cluster, for example, `Cluster`. + * + */ + private String kind; + /** + * @return (Required Integer) The amount of storage (in GB) provisioned to this cluster. + * + */ + private Integer storage; + /** + * @return (Required String) Topic name prefix used by this ksqlDB cluster. Used to assign ACLs for this ksqlDB cluster to use, for example, `pksqlc-00000`. + * + */ + private String topicPrefix; + private Boolean useDetailedProcessingLog; + + private GetKsqlClusterResult() {} + /** + * @return (Required String) An API Version of the schema version of the ksqlDB cluster, for example, `ksqldbcm/v2`. + * + */ + public String apiVersion() { + return this.apiVersion; + } + public List credentialIdentities() { + return this.credentialIdentities; + } + /** + * @return (Required Number) The number of CSUs (Confluent Streaming Units) in the ksqlDB cluster. + * - `use_detailed_processing_log` (Optional Boolean) Controls whether the row data should be included in the processing log topic. + * + */ + public Integer csu() { + return this.csu; + } + public String displayName() { + return this.displayName; + } + public GetKsqlClusterEnvironment environment() { + return this.environment; + } + /** + * @return (Required String) The API endpoint of the ksqlDB cluster, for example, `https://pksqlc-00000.us-central1.gcp.glb.confluent.cloud`. + * - `kafka_cluster` (Optional Configuration Block) supports the following: + * + */ + public String httpEndpoint() { + return this.httpEndpoint; + } + /** + * @return (Required String) The ID of the service or user account that the ksqlDB cluster belongs to, for example, `sa-abc123`. + * + */ + public String id() { + return this.id; + } + public List kafkaClusters() { + return this.kafkaClusters; + } + /** + * @return (Required String) A kind of the ksqlDB cluster, for example, `Cluster`. + * + */ + public String kind() { + return this.kind; + } + /** + * @return (Required Integer) The amount of storage (in GB) provisioned to this cluster. + * + */ + public Integer storage() { + return this.storage; + } + /** + * @return (Required String) Topic name prefix used by this ksqlDB cluster. Used to assign ACLs for this ksqlDB cluster to use, for example, `pksqlc-00000`. + * + */ + public String topicPrefix() { + return this.topicPrefix; + } + public Boolean useDetailedProcessingLog() { + return this.useDetailedProcessingLog; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetKsqlClusterResult defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String apiVersion; + private List credentialIdentities; + private Integer csu; + private String displayName; + private GetKsqlClusterEnvironment environment; + private String httpEndpoint; + private String id; + private List kafkaClusters; + private String kind; + private Integer storage; + private String topicPrefix; + private Boolean useDetailedProcessingLog; + public Builder() {} + public Builder(GetKsqlClusterResult defaults) { + Objects.requireNonNull(defaults); + this.apiVersion = defaults.apiVersion; + this.credentialIdentities = defaults.credentialIdentities; + this.csu = defaults.csu; + this.displayName = defaults.displayName; + this.environment = defaults.environment; + this.httpEndpoint = defaults.httpEndpoint; + this.id = defaults.id; + this.kafkaClusters = defaults.kafkaClusters; + this.kind = defaults.kind; + this.storage = defaults.storage; + this.topicPrefix = defaults.topicPrefix; + this.useDetailedProcessingLog = defaults.useDetailedProcessingLog; + } + + @CustomType.Setter + public Builder apiVersion(String apiVersion) { + this.apiVersion = Objects.requireNonNull(apiVersion); + return this; + } + @CustomType.Setter + public Builder credentialIdentities(List credentialIdentities) { + this.credentialIdentities = Objects.requireNonNull(credentialIdentities); + return this; + } + public Builder credentialIdentities(GetKsqlClusterCredentialIdentity... credentialIdentities) { + return credentialIdentities(List.of(credentialIdentities)); + } + @CustomType.Setter + public Builder csu(Integer csu) { + this.csu = Objects.requireNonNull(csu); + return this; + } + @CustomType.Setter + public Builder displayName(String displayName) { + this.displayName = Objects.requireNonNull(displayName); + return this; + } + @CustomType.Setter + public Builder environment(GetKsqlClusterEnvironment environment) { + this.environment = Objects.requireNonNull(environment); + return this; + } + @CustomType.Setter + public Builder httpEndpoint(String httpEndpoint) { + this.httpEndpoint = Objects.requireNonNull(httpEndpoint); + return this; + } + @CustomType.Setter + public Builder id(String id) { + this.id = Objects.requireNonNull(id); + return this; + } + @CustomType.Setter + public Builder kafkaClusters(List kafkaClusters) { + this.kafkaClusters = Objects.requireNonNull(kafkaClusters); + return this; + } + public Builder kafkaClusters(GetKsqlClusterKafkaCluster... kafkaClusters) { + return kafkaClusters(List.of(kafkaClusters)); + } + @CustomType.Setter + public Builder kind(String kind) { + this.kind = Objects.requireNonNull(kind); + return this; + } + @CustomType.Setter + public Builder storage(Integer storage) { + this.storage = Objects.requireNonNull(storage); + return this; + } + @CustomType.Setter + public Builder topicPrefix(String topicPrefix) { + this.topicPrefix = Objects.requireNonNull(topicPrefix); + return this; + } + @CustomType.Setter + public Builder useDetailedProcessingLog(Boolean useDetailedProcessingLog) { + this.useDetailedProcessingLog = Objects.requireNonNull(useDetailedProcessingLog); + return this; + } + public GetKsqlClusterResult build() { + final var o = new GetKsqlClusterResult(); + o.apiVersion = apiVersion; + o.credentialIdentities = credentialIdentities; + o.csu = csu; + o.displayName = displayName; + o.environment = environment; + o.httpEndpoint = httpEndpoint; + o.id = id; + o.kafkaClusters = kafkaClusters; + o.kind = kind; + o.storage = storage; + o.topicPrefix = topicPrefix; + o.useDetailedProcessingLog = useDetailedProcessingLog; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/confluentcloud/outputs/GetNetworkGcp.java b/sdk/java/src/main/java/com/pulumi/confluentcloud/outputs/GetNetworkGcp.java index cd49c15b..5e9e58b6 100644 --- a/sdk/java/src/main/java/com/pulumi/confluentcloud/outputs/GetNetworkGcp.java +++ b/sdk/java/src/main/java/com/pulumi/confluentcloud/outputs/GetNetworkGcp.java @@ -5,12 +5,18 @@ import com.pulumi.core.annotations.CustomType; import java.lang.String; +import java.util.Map; import java.util.Objects; @CustomType public final class GetNetworkGcp { /** - * @return (Required String) The GCP project. + * @return (Optional Map) The mapping of zones to Private Service Connect service attachments if available. Keys are zones and values are [GCP Private Service Connect service attachment](https://cloud.google.com/vpc/docs/configure-private-service-connect-producer#api_7). + * + */ + private Map privateServiceConnectServiceAttachments; + /** + * @return (Required String) The GCP project ID. * */ private String project; @@ -22,7 +28,14 @@ public final class GetNetworkGcp { private GetNetworkGcp() {} /** - * @return (Required String) The GCP project. + * @return (Optional Map) The mapping of zones to Private Service Connect service attachments if available. Keys are zones and values are [GCP Private Service Connect service attachment](https://cloud.google.com/vpc/docs/configure-private-service-connect-producer#api_7). + * + */ + public Map privateServiceConnectServiceAttachments() { + return this.privateServiceConnectServiceAttachments; + } + /** + * @return (Required String) The GCP project ID. * */ public String project() { @@ -45,15 +58,22 @@ public static Builder builder(GetNetworkGcp defaults) { } @CustomType.Builder public static final class Builder { + private Map privateServiceConnectServiceAttachments; private String project; private String vpcNetwork; public Builder() {} public Builder(GetNetworkGcp defaults) { Objects.requireNonNull(defaults); + this.privateServiceConnectServiceAttachments = defaults.privateServiceConnectServiceAttachments; this.project = defaults.project; this.vpcNetwork = defaults.vpcNetwork; } + @CustomType.Setter + public Builder privateServiceConnectServiceAttachments(Map privateServiceConnectServiceAttachments) { + this.privateServiceConnectServiceAttachments = Objects.requireNonNull(privateServiceConnectServiceAttachments); + return this; + } @CustomType.Setter public Builder project(String project) { this.project = Objects.requireNonNull(project); @@ -66,6 +86,7 @@ public Builder vpcNetwork(String vpcNetwork) { } public GetNetworkGcp build() { final var o = new GetNetworkGcp(); + o.privateServiceConnectServiceAttachments = privateServiceConnectServiceAttachments; o.project = project; o.vpcNetwork = vpcNetwork; return o; diff --git a/sdk/java/src/main/java/com/pulumi/confluentcloud/outputs/GetPrivateLinkAccessGcp.java b/sdk/java/src/main/java/com/pulumi/confluentcloud/outputs/GetPrivateLinkAccessGcp.java new file mode 100644 index 00000000..1af04f43 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/confluentcloud/outputs/GetPrivateLinkAccessGcp.java @@ -0,0 +1,54 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.confluentcloud.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class GetPrivateLinkAccessGcp { + /** + * @return (Required String) The GCP project ID to allow for Private Service Connect access. You can find your Google Cloud Project ID under **Project ID** section of your [Google Cloud Console dashboard](https://console.cloud.google.com/home/dashboard). + * + */ + private String project; + + private GetPrivateLinkAccessGcp() {} + /** + * @return (Required String) The GCP project ID to allow for Private Service Connect access. You can find your Google Cloud Project ID under **Project ID** section of your [Google Cloud Console dashboard](https://console.cloud.google.com/home/dashboard). + * + */ + public String project() { + return this.project; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetPrivateLinkAccessGcp defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String project; + public Builder() {} + public Builder(GetPrivateLinkAccessGcp defaults) { + Objects.requireNonNull(defaults); + this.project = defaults.project; + } + + @CustomType.Setter + public Builder project(String project) { + this.project = Objects.requireNonNull(project); + return this; + } + public GetPrivateLinkAccessGcp build() { + final var o = new GetPrivateLinkAccessGcp(); + o.project = project; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/confluentcloud/outputs/GetPrivateLinkAccessResult.java b/sdk/java/src/main/java/com/pulumi/confluentcloud/outputs/GetPrivateLinkAccessResult.java index 947876a4..d0a816ab 100644 --- a/sdk/java/src/main/java/com/pulumi/confluentcloud/outputs/GetPrivateLinkAccessResult.java +++ b/sdk/java/src/main/java/com/pulumi/confluentcloud/outputs/GetPrivateLinkAccessResult.java @@ -6,6 +6,7 @@ import com.pulumi.confluentcloud.outputs.GetPrivateLinkAccessAw; import com.pulumi.confluentcloud.outputs.GetPrivateLinkAccessAzure; import com.pulumi.confluentcloud.outputs.GetPrivateLinkAccessEnvironment; +import com.pulumi.confluentcloud.outputs.GetPrivateLinkAccessGcp; import com.pulumi.confluentcloud.outputs.GetPrivateLinkAccessNetwork; import com.pulumi.core.annotations.CustomType; import java.lang.String; @@ -31,6 +32,11 @@ public final class GetPrivateLinkAccessResult { */ private String displayName; private GetPrivateLinkAccessEnvironment environment; + /** + * @return (Optional Configuration Block) The GCP-specific Private Service Connect details if available. It supports the following: + * + */ + private List gcps; /** * @return (Required String) The ID of the Network that the Private Link Access belongs to, for example, `n-abc123`. * @@ -64,6 +70,13 @@ public String displayName() { public GetPrivateLinkAccessEnvironment environment() { return this.environment; } + /** + * @return (Optional Configuration Block) The GCP-specific Private Service Connect details if available. It supports the following: + * + */ + public List gcps() { + return this.gcps; + } /** * @return (Required String) The ID of the Network that the Private Link Access belongs to, for example, `n-abc123`. * @@ -88,6 +101,7 @@ public static final class Builder { private List azures; private String displayName; private GetPrivateLinkAccessEnvironment environment; + private List gcps; private String id; private List networks; public Builder() {} @@ -97,6 +111,7 @@ public Builder(GetPrivateLinkAccessResult defaults) { this.azures = defaults.azures; this.displayName = defaults.displayName; this.environment = defaults.environment; + this.gcps = defaults.gcps; this.id = defaults.id; this.networks = defaults.networks; } @@ -128,6 +143,14 @@ public Builder environment(GetPrivateLinkAccessEnvironment environment) { return this; } @CustomType.Setter + public Builder gcps(List gcps) { + this.gcps = Objects.requireNonNull(gcps); + return this; + } + public Builder gcps(GetPrivateLinkAccessGcp... gcps) { + return gcps(List.of(gcps)); + } + @CustomType.Setter public Builder id(String id) { this.id = Objects.requireNonNull(id); return this; @@ -146,6 +169,7 @@ public GetPrivateLinkAccessResult build() { o.azures = azures; o.displayName = displayName; o.environment = environment; + o.gcps = gcps; o.id = id; o.networks = networks; return o; diff --git a/sdk/java/src/main/java/com/pulumi/confluentcloud/outputs/IdentityPoolIdentityProvider.java b/sdk/java/src/main/java/com/pulumi/confluentcloud/outputs/IdentityPoolIdentityProvider.java new file mode 100644 index 00000000..ff32c87e --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/confluentcloud/outputs/IdentityPoolIdentityProvider.java @@ -0,0 +1,54 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.confluentcloud.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class IdentityPoolIdentityProvider { + /** + * @return The ID of the Identity Provider associated with the Identity Pool, for example, `op-abc123`. + * + */ + private String id; + + private IdentityPoolIdentityProvider() {} + /** + * @return The ID of the Identity Provider associated with the Identity Pool, for example, `op-abc123`. + * + */ + public String id() { + return this.id; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(IdentityPoolIdentityProvider defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String id; + public Builder() {} + public Builder(IdentityPoolIdentityProvider defaults) { + Objects.requireNonNull(defaults); + this.id = defaults.id; + } + + @CustomType.Setter + public Builder id(String id) { + this.id = Objects.requireNonNull(id); + return this; + } + public IdentityPoolIdentityProvider build() { + final var o = new IdentityPoolIdentityProvider(); + o.id = id; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/confluentcloud/outputs/KsqlClusterCredentialIdentity.java b/sdk/java/src/main/java/com/pulumi/confluentcloud/outputs/KsqlClusterCredentialIdentity.java new file mode 100644 index 00000000..67bfc214 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/confluentcloud/outputs/KsqlClusterCredentialIdentity.java @@ -0,0 +1,54 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.confluentcloud.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class KsqlClusterCredentialIdentity { + /** + * @return The ID of the associated service or user account, for example, `sa-abc123`. + * + */ + private String id; + + private KsqlClusterCredentialIdentity() {} + /** + * @return The ID of the associated service or user account, for example, `sa-abc123`. + * + */ + public String id() { + return this.id; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(KsqlClusterCredentialIdentity defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String id; + public Builder() {} + public Builder(KsqlClusterCredentialIdentity defaults) { + Objects.requireNonNull(defaults); + this.id = defaults.id; + } + + @CustomType.Setter + public Builder id(String id) { + this.id = Objects.requireNonNull(id); + return this; + } + public KsqlClusterCredentialIdentity build() { + final var o = new KsqlClusterCredentialIdentity(); + o.id = id; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/confluentcloud/outputs/KsqlClusterEnvironment.java b/sdk/java/src/main/java/com/pulumi/confluentcloud/outputs/KsqlClusterEnvironment.java new file mode 100644 index 00000000..abf3e724 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/confluentcloud/outputs/KsqlClusterEnvironment.java @@ -0,0 +1,54 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.confluentcloud.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class KsqlClusterEnvironment { + /** + * @return The ID of the associated service or user account, for example, `sa-abc123`. + * + */ + private String id; + + private KsqlClusterEnvironment() {} + /** + * @return The ID of the associated service or user account, for example, `sa-abc123`. + * + */ + public String id() { + return this.id; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(KsqlClusterEnvironment defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String id; + public Builder() {} + public Builder(KsqlClusterEnvironment defaults) { + Objects.requireNonNull(defaults); + this.id = defaults.id; + } + + @CustomType.Setter + public Builder id(String id) { + this.id = Objects.requireNonNull(id); + return this; + } + public KsqlClusterEnvironment build() { + final var o = new KsqlClusterEnvironment(); + o.id = id; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/confluentcloud/outputs/KsqlClusterKafkaCluster.java b/sdk/java/src/main/java/com/pulumi/confluentcloud/outputs/KsqlClusterKafkaCluster.java new file mode 100644 index 00000000..a20b8cf3 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/confluentcloud/outputs/KsqlClusterKafkaCluster.java @@ -0,0 +1,54 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.confluentcloud.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class KsqlClusterKafkaCluster { + /** + * @return The ID of the associated service or user account, for example, `sa-abc123`. + * + */ + private String id; + + private KsqlClusterKafkaCluster() {} + /** + * @return The ID of the associated service or user account, for example, `sa-abc123`. + * + */ + public String id() { + return this.id; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(KsqlClusterKafkaCluster defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String id; + public Builder() {} + public Builder(KsqlClusterKafkaCluster defaults) { + Objects.requireNonNull(defaults); + this.id = defaults.id; + } + + @CustomType.Setter + public Builder id(String id) { + this.id = Objects.requireNonNull(id); + return this; + } + public KsqlClusterKafkaCluster build() { + final var o = new KsqlClusterKafkaCluster(); + o.id = id; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/confluentcloud/outputs/NetworkGcp.java b/sdk/java/src/main/java/com/pulumi/confluentcloud/outputs/NetworkGcp.java index 3386ac8f..3ee2c388 100644 --- a/sdk/java/src/main/java/com/pulumi/confluentcloud/outputs/NetworkGcp.java +++ b/sdk/java/src/main/java/com/pulumi/confluentcloud/outputs/NetworkGcp.java @@ -5,6 +5,7 @@ import com.pulumi.core.annotations.CustomType; import java.lang.String; +import java.util.Map; import java.util.Objects; import java.util.Optional; import javax.annotation.Nullable; @@ -12,7 +13,12 @@ @CustomType public final class NetworkGcp { /** - * @return (Required String) The GCP project. + * @return (Optional Map) The mapping of zones to Private Service Connect service attachments if available. Keys are zones and values are [GCP Private Service Connect service attachment](https://cloud.google.com/vpc/docs/configure-private-service-connect-producer#api_7). + * + */ + private @Nullable Map privateServiceConnectServiceAttachments; + /** + * @return (Required String) The GCP project ID. * */ private @Nullable String project; @@ -24,7 +30,14 @@ public final class NetworkGcp { private NetworkGcp() {} /** - * @return (Required String) The GCP project. + * @return (Optional Map) The mapping of zones to Private Service Connect service attachments if available. Keys are zones and values are [GCP Private Service Connect service attachment](https://cloud.google.com/vpc/docs/configure-private-service-connect-producer#api_7). + * + */ + public Map privateServiceConnectServiceAttachments() { + return this.privateServiceConnectServiceAttachments == null ? Map.of() : this.privateServiceConnectServiceAttachments; + } + /** + * @return (Required String) The GCP project ID. * */ public Optional project() { @@ -47,15 +60,22 @@ public static Builder builder(NetworkGcp defaults) { } @CustomType.Builder public static final class Builder { + private @Nullable Map privateServiceConnectServiceAttachments; private @Nullable String project; private @Nullable String vpcNetwork; public Builder() {} public Builder(NetworkGcp defaults) { Objects.requireNonNull(defaults); + this.privateServiceConnectServiceAttachments = defaults.privateServiceConnectServiceAttachments; this.project = defaults.project; this.vpcNetwork = defaults.vpcNetwork; } + @CustomType.Setter + public Builder privateServiceConnectServiceAttachments(@Nullable Map privateServiceConnectServiceAttachments) { + this.privateServiceConnectServiceAttachments = privateServiceConnectServiceAttachments; + return this; + } @CustomType.Setter public Builder project(@Nullable String project) { this.project = project; @@ -68,6 +88,7 @@ public Builder vpcNetwork(@Nullable String vpcNetwork) { } public NetworkGcp build() { final var o = new NetworkGcp(); + o.privateServiceConnectServiceAttachments = privateServiceConnectServiceAttachments; o.project = project; o.vpcNetwork = vpcNetwork; return o; diff --git a/sdk/java/src/main/java/com/pulumi/confluentcloud/outputs/PrivateLinkAccessGcp.java b/sdk/java/src/main/java/com/pulumi/confluentcloud/outputs/PrivateLinkAccessGcp.java new file mode 100644 index 00000000..e55b5fdb --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/confluentcloud/outputs/PrivateLinkAccessGcp.java @@ -0,0 +1,54 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.confluentcloud.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class PrivateLinkAccessGcp { + /** + * @return The GCP project ID to allow for Private Service Connect access. You can find your Google Cloud Project ID under **Project ID** section of your [Google Cloud Console dashboard](https://console.cloud.google.com/home/dashboard). + * + */ + private String project; + + private PrivateLinkAccessGcp() {} + /** + * @return The GCP project ID to allow for Private Service Connect access. You can find your Google Cloud Project ID under **Project ID** section of your [Google Cloud Console dashboard](https://console.cloud.google.com/home/dashboard). + * + */ + public String project() { + return this.project; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(PrivateLinkAccessGcp defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String project; + public Builder() {} + public Builder(PrivateLinkAccessGcp defaults) { + Objects.requireNonNull(defaults); + this.project = defaults.project; + } + + @CustomType.Setter + public Builder project(String project) { + this.project = Objects.requireNonNull(project); + return this; + } + public PrivateLinkAccessGcp build() { + final var o = new PrivateLinkAccessGcp(); + o.project = project; + return o; + } + } +} diff --git a/sdk/nodejs/getIdentityPool.ts b/sdk/nodejs/getIdentityPool.ts new file mode 100644 index 00000000..40bf7afa --- /dev/null +++ b/sdk/nodejs/getIdentityPool.ts @@ -0,0 +1,108 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "./types/input"; +import * as outputs from "./types/output"; +import * as utilities from "./utilities"; + +/** + * [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy) [![Request Access To OAuth API](https://img.shields.io/badge/-Request%20Access%20To%20OAuth%20API-%23bc8540)](mailto:ccloud-api-access+iam-v2-closed-preview@confluent.io?subject=Request%20to%20join%20OAuth%20API%20Closed%20Preview&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Closed%20Preview%20for%20iam/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + * + * `confluentcloud.IdentityPool` describes an Identity Pool data source. + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as confluentcloud from "@pulumi/confluentcloud"; + * + * const exampleUsingIdIdentityPool = confluentcloud.getIdentityPool({ + * id: "pool-xyz456", + * identityProvider: { + * id: "op-abc123", + * }, + * }); + * export const exampleUsingId = exampleUsingIdIdentityPool; + * const exampleUsingNameIdentityPool = confluentcloud.getIdentityPool({ + * displayName: "My Identity Pool", + * identityProvider: { + * id: "op-abc123", + * }, + * }); + * export const exampleUsingName = exampleUsingNameIdentityPool; + * ``` + */ +export function getIdentityPool(args: GetIdentityPoolArgs, opts?: pulumi.InvokeOptions): Promise { + if (!opts) { + opts = {} + } + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + return pulumi.runtime.invoke("confluentcloud:index/getIdentityPool:getIdentityPool", { + "displayName": args.displayName, + "id": args.id, + "identityProvider": args.identityProvider, + }, opts); +} + +/** + * A collection of arguments for invoking getIdentityPool. + */ +export interface GetIdentityPoolArgs { + /** + * A human-readable name for the Identity Pool. + */ + displayName?: string; + /** + * The ID of the Identity Provider associated with the Identity Pool, for example, `op-abc123`. + */ + id?: string; + identityProvider: inputs.GetIdentityPoolIdentityProvider; +} + +/** + * A collection of values returned by getIdentityPool. + */ +export interface GetIdentityPoolResult { + /** + * (Required String) A description for the Identity Pool. + */ + readonly description: string; + /** + * (Required String) A human-readable name for the Identity Pool. + */ + readonly displayName: string; + /** + * (Required String) A filter expression in [Supported Common Expression Language (CEL)](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html#supported-common-expression-language-cel-filters) that specifies which identities can authenticate using your identity pool (see [Set identity pool filters](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html#set-identity-pool-filters) for more details). + */ + readonly filter: string; + /** + * (Required String) The ID of the Identity Provider associated with the Identity Pool, for example, `op-abc123`. + */ + readonly id: string; + /** + * (Required String) The JSON Web Token (JWT) claim to extract the authenticating identity to Confluent resources from (see [Registered Claim Names](https://datatracker.ietf.org/doc/html/rfc7519#section-4.1) for more details). This appears in the audit log records, showing, for example, that "identity Z used identity pool X to access topic A". + */ + readonly identityClaim: string; + readonly identityProvider: outputs.GetIdentityPoolIdentityProvider; +} + +export function getIdentityPoolOutput(args: GetIdentityPoolOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply(a => getIdentityPool(a, opts)) +} + +/** + * A collection of arguments for invoking getIdentityPool. + */ +export interface GetIdentityPoolOutputArgs { + /** + * A human-readable name for the Identity Pool. + */ + displayName?: pulumi.Input; + /** + * The ID of the Identity Provider associated with the Identity Pool, for example, `op-abc123`. + */ + id?: pulumi.Input; + identityProvider: pulumi.Input; +} diff --git a/sdk/nodejs/getIdentityProvider.ts b/sdk/nodejs/getIdentityProvider.ts new file mode 100644 index 00000000..1911bf79 --- /dev/null +++ b/sdk/nodejs/getIdentityProvider.ts @@ -0,0 +1,97 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "./utilities"; + +/** + * [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy) [![Request Access To OAuth API](https://img.shields.io/badge/-Request%20Access%20To%20OAuth%20API-%23bc8540)](mailto:ccloud-api-access+iam-v2-closed-preview@confluent.io?subject=Request%20to%20join%20OAuth%20API%20Closed%20Preview&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Closed%20Preview%20for%20iam/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + * + * `confluentcloud.IdentityProvider` describes an Identity Provider data source. + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as confluentcloud from "@pulumi/confluentcloud"; + * + * const exampleUsingIdIdentityProvider = confluentcloud.getIdentityProvider({ + * id: "op-abc123", + * }); + * export const exampleUsingId = exampleUsingIdIdentityProvider; + * const exampleUsingNameIdentityProvider = confluentcloud.getIdentityProvider({ + * displayName: "My OIDC Provider: Azure AD", + * }); + * export const exampleUsingName = exampleUsingNameIdentityProvider; + * ``` + */ +export function getIdentityProvider(args?: GetIdentityProviderArgs, opts?: pulumi.InvokeOptions): Promise { + args = args || {}; + if (!opts) { + opts = {} + } + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + return pulumi.runtime.invoke("confluentcloud:index/getIdentityProvider:getIdentityProvider", { + "displayName": args.displayName, + "id": args.id, + }, opts); +} + +/** + * A collection of arguments for invoking getIdentityProvider. + */ +export interface GetIdentityProviderArgs { + /** + * A human-readable name for the Identity Provider. + */ + displayName?: string; + /** + * The ID of the Identity Provider, for example, `op-abc123`. + */ + id?: string; +} + +/** + * A collection of values returned by getIdentityProvider. + */ +export interface GetIdentityProviderResult { + /** + * (Required String) A description for the Identity Provider. + */ + readonly description: string; + /** + * (Required String) A human-readable name for the Identity Provider. + */ + readonly displayName: string; + /** + * (Required String) The ID of the Identity Provider, for example, `op-abc123`. + */ + readonly id: string; + /** + * (Required String) A publicly reachable issuer URI for the Identity Provider. The unique issuer URI string represents the entity for issuing tokens. + */ + readonly issuer: string; + /** + * (Required String) A publicly reachable JSON Web Key Set (JWKS) URI for the Identity Provider. A JSON Web Key Set (JWKS) provides a set of keys containing the public keys used to verify any JSON Web Token (JWT) issued by your OAuth 2.0 identity provider. + */ + readonly jwksUri: string; +} + +export function getIdentityProviderOutput(args?: GetIdentityProviderOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply(a => getIdentityProvider(a, opts)) +} + +/** + * A collection of arguments for invoking getIdentityProvider. + */ +export interface GetIdentityProviderOutputArgs { + /** + * A human-readable name for the Identity Provider. + */ + displayName?: pulumi.Input; + /** + * The ID of the Identity Provider, for example, `op-abc123`. + */ + id?: pulumi.Input; +} diff --git a/sdk/nodejs/getKsqlCluster.ts b/sdk/nodejs/getKsqlCluster.ts new file mode 100644 index 00000000..18072a71 --- /dev/null +++ b/sdk/nodejs/getKsqlCluster.ts @@ -0,0 +1,124 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "./types/input"; +import * as outputs from "./types/output"; +import * as utilities from "./utilities"; + +/** + * ## # confluentcloud.KsqlCluster Data Source + * + * [![Open Preview](https://img.shields.io/badge/Lifecycle%20Stage-Open%20Preview-%2300afba)](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy) + * + * `confluentcloud.KsqlCluster` describes a ksqlDB cluster data source. + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as confluentcloud from "@pulumi/confluentcloud"; + * + * const exampleUsingIdKsqlCluster = confluentcloud.getKsqlCluster({ + * id: "lksqlc-abc123", + * environment: { + * id: "env-xyz456", + * }, + * }); + * export const exampleUsingId = exampleUsingIdKsqlCluster; + * const exampleUsingNameKsqlCluster = confluentcloud.getKsqlCluster({ + * displayName: "ksqldb_cluster", + * environment: { + * id: "env-xyz456", + * }, + * }); + * export const exampleUsingName = exampleUsingNameKsqlCluster; + * ``` + */ +export function getKsqlCluster(args: GetKsqlClusterArgs, opts?: pulumi.InvokeOptions): Promise { + if (!opts) { + opts = {} + } + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + return pulumi.runtime.invoke("confluentcloud:index/getKsqlCluster:getKsqlCluster", { + "displayName": args.displayName, + "environment": args.environment, + "id": args.id, + }, opts); +} + +/** + * A collection of arguments for invoking getKsqlCluster. + */ +export interface GetKsqlClusterArgs { + /** + * The name of the ksqlDB cluster. + */ + displayName?: string; + environment: inputs.GetKsqlClusterEnvironment; + /** + * The ID of the Environment that the ksqlDB cluster belongs to, for example, `env-xyz456`. + */ + id?: string; +} + +/** + * A collection of values returned by getKsqlCluster. + */ +export interface GetKsqlClusterResult { + /** + * (Required String) An API Version of the schema version of the ksqlDB cluster, for example, `ksqldbcm/v2`. + */ + readonly apiVersion: string; + readonly credentialIdentities: outputs.GetKsqlClusterCredentialIdentity[]; + /** + * (Required Number) The number of CSUs (Confluent Streaming Units) in the ksqlDB cluster. + * - `useDetailedProcessingLog` (Optional Boolean) Controls whether the row data should be included in the processing log topic. + */ + readonly csu: number; + readonly displayName: string; + readonly environment: outputs.GetKsqlClusterEnvironment; + /** + * (Required String) The API endpoint of the ksqlDB cluster, for example, `https://pksqlc-00000.us-central1.gcp.glb.confluent.cloud`. + * - `kafkaCluster` (Optional Configuration Block) supports the following: + */ + readonly httpEndpoint: string; + /** + * (Required String) The ID of the service or user account that the ksqlDB cluster belongs to, for example, `sa-abc123`. + */ + readonly id: string; + readonly kafkaClusters: outputs.GetKsqlClusterKafkaCluster[]; + /** + * (Required String) A kind of the ksqlDB cluster, for example, `Cluster`. + */ + readonly kind: string; + /** + * (Required Integer) The amount of storage (in GB) provisioned to this cluster. + */ + readonly storage: number; + /** + * (Required String) Topic name prefix used by this ksqlDB cluster. Used to assign ACLs for this ksqlDB cluster to use, for example, `pksqlc-00000`. + */ + readonly topicPrefix: string; + readonly useDetailedProcessingLog: boolean; +} + +export function getKsqlClusterOutput(args: GetKsqlClusterOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply(a => getKsqlCluster(a, opts)) +} + +/** + * A collection of arguments for invoking getKsqlCluster. + */ +export interface GetKsqlClusterOutputArgs { + /** + * The name of the ksqlDB cluster. + */ + displayName?: pulumi.Input; + environment: pulumi.Input; + /** + * The ID of the Environment that the ksqlDB cluster belongs to, for example, `env-xyz456`. + */ + id?: pulumi.Input; +} diff --git a/sdk/nodejs/getPrivateLinkAccess.ts b/sdk/nodejs/getPrivateLinkAccess.ts index e8fbd9da..1b097744 100644 --- a/sdk/nodejs/getPrivateLinkAccess.ts +++ b/sdk/nodejs/getPrivateLinkAccess.ts @@ -79,6 +79,10 @@ export interface GetPrivateLinkAccessResult { */ readonly displayName: string; readonly environment: outputs.GetPrivateLinkAccessEnvironment; + /** + * (Optional Configuration Block) The GCP-specific Private Service Connect details if available. It supports the following: + */ + readonly gcps: outputs.GetPrivateLinkAccessGcp[]; /** * (Required String) The ID of the Network that the Private Link Access belongs to, for example, `n-abc123`. */ diff --git a/sdk/nodejs/identityPool.ts b/sdk/nodejs/identityPool.ts new file mode 100644 index 00000000..38e640cd --- /dev/null +++ b/sdk/nodejs/identityPool.ts @@ -0,0 +1,221 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "./types/input"; +import * as outputs from "./types/output"; +import * as utilities from "./utilities"; + +/** + * [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy) [![Request Access To OAuth API](https://img.shields.io/badge/-Request%20Access%20To%20OAuth%20API-%23bc8540)](mailto:ccloud-api-access+iam-v2-closed-preview@confluent.io?subject=Request%20to%20join%20OAuth%20API%20Closed%20Preview&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Closed%20Preview%20for%20iam/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + * + * > **Note:** `confluentcloud.IdentityPool` resource is available in a **Limited Availability** for early adopters. Limited Availability features are introduced to gather customer feedback. This feature should be used only for evaluation and non-production testing purposes or to provide feedback to Confluent, particularly as it becomes more widely available in follow-on editions.\ + * **Limited Availability** features are intended for evaluation use in development and testing environments only, and not for production use. The warranty, SLA, and Support Services provisions of your agreement with Confluent do not apply to Limited Availability features. Limited Availability features are considered to be a Proof of Concept as defined in the Confluent Cloud Terms of Service. Confluent may discontinue providing preview releases of the Limited Availability features at any time in Confluent’s sole discretion. + * + * `confluentcloud.IdentityPool` provides an Identity Pool resource that enables creating, editing, and deleting identity pools on Confluent Cloud. + * + * ## Example Usage + * ### Example Identity Pool to be used with Azure AD + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as confluentcloud from "@pulumi/confluentcloud"; + * + * const azure = new confluentcloud.IdentityProvider("azure", { + * displayName: "My OIDC Provider: Azure AD", + * description: "My description", + * issuer: "https://login.microsoftonline.com/{tenant_id}/v2.0", + * jwksUri: "https://login.microsoftonline.com/common/discovery/v2.0/keys", + * }); + * const example = new confluentcloud.IdentityPool("example", { + * identityProvider: { + * id: azure.id, + * }, + * displayName: "My Identity Pool", + * description: "Prod Access to Kafka clusters to Release Engineering", + * identityClaim: "claims.sub", + * filter: "claims.aud==\"confluent\" && claims.group!=\"invalid_group\"", + * }); + * ``` + * ### Example Identity Pool to be used with Okta + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as confluentcloud from "@pulumi/confluentcloud"; + * + * const okta = new confluentcloud.IdentityProvider("okta", { + * displayName: "My OIDC Provider: Okta", + * description: "My description", + * issuer: "https://mycompany.okta.com/oauth2/default", + * jwksUri: "https://mycompany.okta.com/oauth2/default/v1/keys", + * }); + * const example = new confluentcloud.IdentityPool("example", { + * identityProvider: { + * id: okta.id, + * }, + * displayName: "My Identity Pool", + * description: "Prod Access to Kafka clusters to Release Engineering", + * identityClaim: "claims.sub", + * filter: "claims.aud==\"confluent\" && claims.group!=\"invalid_group\"", + * }); + * ``` + * ## External Documentation + * + * * [Use identity pools with your OAuth provider](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html). + * + * ## Import + * + * You can import an Identity Pool by using Identity Provider ID and Identity Pool ID, in the format `/`. The following example shows how to import an Identity Pool$ export CONFLUENT_CLOUD_API_KEY="" $ export CONFLUENT_CLOUD_API_SECRET="" + * + * ```sh + * $ pulumi import confluentcloud:index/identityPool:IdentityPool example op-abc123/pool-xyz456 + * ``` + * + * !> **Warning:** Do not forget to delete terminal command history afterwards for security purposes. + */ +export class IdentityPool extends pulumi.CustomResource { + /** + * Get an existing IdentityPool resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state Any extra arguments used during the lookup. + * @param opts Optional settings to control the behavior of the CustomResource. + */ + public static get(name: string, id: pulumi.Input, state?: IdentityPoolState, opts?: pulumi.CustomResourceOptions): IdentityPool { + return new IdentityPool(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'confluentcloud:index/identityPool:IdentityPool'; + + /** + * Returns true if the given object is an instance of IdentityPool. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is IdentityPool { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === IdentityPool.__pulumiType; + } + + /** + * A description for the Identity Pool. + */ + public readonly description!: pulumi.Output; + /** + * A human-readable name for the Identity Pool. + */ + public readonly displayName!: pulumi.Output; + /** + * A filter expression in [Supported Common Expression Language (CEL)](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html#supported-common-expression-language-cel-filters) that specifies which identities can authenticate using your identity pool (see [Set identity pool filters](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html#set-identity-pool-filters) for more details). + */ + public readonly filter!: pulumi.Output; + /** + * The JSON Web Token (JWT) claim to extract the authenticating identity to Confluent resources from (see [Registered Claim Names](https://datatracker.ietf.org/doc/html/rfc7519#section-4.1) for more details). This appears in the audit log records, showing, for example, that "identity Z used identity pool X to access topic A". + */ + public readonly identityClaim!: pulumi.Output; + /** + * Identity Provider objects represent external OAuth/OpenID Connect providers within Confluent Cloud. + */ + public readonly identityProvider!: pulumi.Output; + + /** + * Create a IdentityPool resource with the given unique name, arguments, and options. + * + * @param name The _unique_ name of the resource. + * @param args The arguments to use to populate this resource's properties. + * @param opts A bag of options that control this resource's behavior. + */ + constructor(name: string, args: IdentityPoolArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: IdentityPoolArgs | IdentityPoolState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as IdentityPoolState | undefined; + resourceInputs["description"] = state ? state.description : undefined; + resourceInputs["displayName"] = state ? state.displayName : undefined; + resourceInputs["filter"] = state ? state.filter : undefined; + resourceInputs["identityClaim"] = state ? state.identityClaim : undefined; + resourceInputs["identityProvider"] = state ? state.identityProvider : undefined; + } else { + const args = argsOrState as IdentityPoolArgs | undefined; + if ((!args || args.description === undefined) && !opts.urn) { + throw new Error("Missing required property 'description'"); + } + if ((!args || args.displayName === undefined) && !opts.urn) { + throw new Error("Missing required property 'displayName'"); + } + if ((!args || args.filter === undefined) && !opts.urn) { + throw new Error("Missing required property 'filter'"); + } + if ((!args || args.identityClaim === undefined) && !opts.urn) { + throw new Error("Missing required property 'identityClaim'"); + } + if ((!args || args.identityProvider === undefined) && !opts.urn) { + throw new Error("Missing required property 'identityProvider'"); + } + resourceInputs["description"] = args ? args.description : undefined; + resourceInputs["displayName"] = args ? args.displayName : undefined; + resourceInputs["filter"] = args ? args.filter : undefined; + resourceInputs["identityClaim"] = args ? args.identityClaim : undefined; + resourceInputs["identityProvider"] = args ? args.identityProvider : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(IdentityPool.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering IdentityPool resources. + */ +export interface IdentityPoolState { + /** + * A description for the Identity Pool. + */ + description?: pulumi.Input; + /** + * A human-readable name for the Identity Pool. + */ + displayName?: pulumi.Input; + /** + * A filter expression in [Supported Common Expression Language (CEL)](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html#supported-common-expression-language-cel-filters) that specifies which identities can authenticate using your identity pool (see [Set identity pool filters](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html#set-identity-pool-filters) for more details). + */ + filter?: pulumi.Input; + /** + * The JSON Web Token (JWT) claim to extract the authenticating identity to Confluent resources from (see [Registered Claim Names](https://datatracker.ietf.org/doc/html/rfc7519#section-4.1) for more details). This appears in the audit log records, showing, for example, that "identity Z used identity pool X to access topic A". + */ + identityClaim?: pulumi.Input; + /** + * Identity Provider objects represent external OAuth/OpenID Connect providers within Confluent Cloud. + */ + identityProvider?: pulumi.Input; +} + +/** + * The set of arguments for constructing a IdentityPool resource. + */ +export interface IdentityPoolArgs { + /** + * A description for the Identity Pool. + */ + description: pulumi.Input; + /** + * A human-readable name for the Identity Pool. + */ + displayName: pulumi.Input; + /** + * A filter expression in [Supported Common Expression Language (CEL)](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html#supported-common-expression-language-cel-filters) that specifies which identities can authenticate using your identity pool (see [Set identity pool filters](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html#set-identity-pool-filters) for more details). + */ + filter: pulumi.Input; + /** + * The JSON Web Token (JWT) claim to extract the authenticating identity to Confluent resources from (see [Registered Claim Names](https://datatracker.ietf.org/doc/html/rfc7519#section-4.1) for more details). This appears in the audit log records, showing, for example, that "identity Z used identity pool X to access topic A". + */ + identityClaim: pulumi.Input; + /** + * Identity Provider objects represent external OAuth/OpenID Connect providers within Confluent Cloud. + */ + identityProvider: pulumi.Input; +} diff --git a/sdk/nodejs/identityProvider.ts b/sdk/nodejs/identityProvider.ts new file mode 100644 index 00000000..6b678573 --- /dev/null +++ b/sdk/nodejs/identityProvider.ts @@ -0,0 +1,184 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "./utilities"; + +/** + * [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy) [![Request Access To OAuth API](https://img.shields.io/badge/-Request%20Access%20To%20OAuth%20API-%23bc8540)](mailto:ccloud-api-access+iam-v2-closed-preview@confluent.io?subject=Request%20to%20join%20OAuth%20API%20Closed%20Preview&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Closed%20Preview%20for%20iam/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + * + * > **Note:** `confluentcloud.IdentityProvider` resource is available in a **Limited Availability** for early adopters. Limited Availability features are introduced to gather customer feedback. This feature should be used only for evaluation and non-production testing purposes or to provide feedback to Confluent, particularly as it becomes more widely available in follow-on editions.\ + * **Limited Availability** features are intended for evaluation use in development and testing environments only, and not for production use. The warranty, SLA, and Support Services provisions of your agreement with Confluent do not apply to Limited Availability features. Limited Availability features are considered to be a Proof of Concept as defined in the Confluent Cloud Terms of Service. Confluent may discontinue providing preview releases of the Limited Availability features at any time in Confluent’s sole discretion. + * + * `confluentcloud.IdentityProvider` provides an Identity Provider resource that enables creating, editing, and deleting identity providers on Confluent Cloud. + * + * ## Example Usage + * ### Example Identity Provider: Azure AD + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as confluent from "@pulumi/confluent"; + * + * const azure = new confluent.IdentityProvider("azure", { + * description: "My description", + * displayName: "My OIDC Provider: Azure AD", + * issuer: "https://login.microsoftonline.com/{tenant_id}/v2.0", + * jwksUri: "https://login.microsoftonline.com/common/discovery/v2.0/keys", + * }); + * ``` + * ### Example Identity Provider: Okta + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as confluent from "@pulumi/confluent"; + * + * const okta = new confluent.IdentityProvider("okta", { + * description: "My description", + * displayName: "My OIDC Provider: Okta", + * issuer: "https://mycompany.okta.com/oauth2/default", + * jwksUri: "https://mycompany.okta.com/oauth2/default/v1/keys", + * }); + * ``` + * ## External Documentation + * + * * [Authenticating with OAuth](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/overview.html). + * + * ## Import + * + * You can import an Identity Provider by using Identity Provider ID, for example$ export CONFLUENT_CLOUD_API_KEY="" $ export CONFLUENT_CLOUD_API_SECRET="" + * + * ```sh + * $ pulumi import confluentcloud:index/identityProvider:IdentityProvider example op-abc123 + * ``` + * + * !> **Warning:** Do not forget to delete terminal command history afterwards for security purposes. + */ +export class IdentityProvider extends pulumi.CustomResource { + /** + * Get an existing IdentityProvider resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state Any extra arguments used during the lookup. + * @param opts Optional settings to control the behavior of the CustomResource. + */ + public static get(name: string, id: pulumi.Input, state?: IdentityProviderState, opts?: pulumi.CustomResourceOptions): IdentityProvider { + return new IdentityProvider(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'confluentcloud:index/identityProvider:IdentityProvider'; + + /** + * Returns true if the given object is an instance of IdentityProvider. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is IdentityProvider { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === IdentityProvider.__pulumiType; + } + + /** + * A description for the Identity Provider. + */ + public readonly description!: pulumi.Output; + /** + * A human-readable name for the Identity Provider. + */ + public readonly displayName!: pulumi.Output; + /** + * A publicly reachable issuer URI for the Identity Provider. The unique issuer URI string represents the entity for issuing tokens. + */ + public readonly issuer!: pulumi.Output; + /** + * A publicly reachable JSON Web Key Set (JWKS) URI for the Identity Provider. A JSON Web Key Set (JWKS) provides a set of keys containing the public keys used to verify any JSON Web Token (JWT) issued by your OAuth 2.0 identity provider. + */ + public readonly jwksUri!: pulumi.Output; + + /** + * Create a IdentityProvider resource with the given unique name, arguments, and options. + * + * @param name The _unique_ name of the resource. + * @param args The arguments to use to populate this resource's properties. + * @param opts A bag of options that control this resource's behavior. + */ + constructor(name: string, args: IdentityProviderArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: IdentityProviderArgs | IdentityProviderState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as IdentityProviderState | undefined; + resourceInputs["description"] = state ? state.description : undefined; + resourceInputs["displayName"] = state ? state.displayName : undefined; + resourceInputs["issuer"] = state ? state.issuer : undefined; + resourceInputs["jwksUri"] = state ? state.jwksUri : undefined; + } else { + const args = argsOrState as IdentityProviderArgs | undefined; + if ((!args || args.description === undefined) && !opts.urn) { + throw new Error("Missing required property 'description'"); + } + if ((!args || args.displayName === undefined) && !opts.urn) { + throw new Error("Missing required property 'displayName'"); + } + if ((!args || args.issuer === undefined) && !opts.urn) { + throw new Error("Missing required property 'issuer'"); + } + if ((!args || args.jwksUri === undefined) && !opts.urn) { + throw new Error("Missing required property 'jwksUri'"); + } + resourceInputs["description"] = args ? args.description : undefined; + resourceInputs["displayName"] = args ? args.displayName : undefined; + resourceInputs["issuer"] = args ? args.issuer : undefined; + resourceInputs["jwksUri"] = args ? args.jwksUri : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(IdentityProvider.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering IdentityProvider resources. + */ +export interface IdentityProviderState { + /** + * A description for the Identity Provider. + */ + description?: pulumi.Input; + /** + * A human-readable name for the Identity Provider. + */ + displayName?: pulumi.Input; + /** + * A publicly reachable issuer URI for the Identity Provider. The unique issuer URI string represents the entity for issuing tokens. + */ + issuer?: pulumi.Input; + /** + * A publicly reachable JSON Web Key Set (JWKS) URI for the Identity Provider. A JSON Web Key Set (JWKS) provides a set of keys containing the public keys used to verify any JSON Web Token (JWT) issued by your OAuth 2.0 identity provider. + */ + jwksUri?: pulumi.Input; +} + +/** + * The set of arguments for constructing a IdentityProvider resource. + */ +export interface IdentityProviderArgs { + /** + * A description for the Identity Provider. + */ + description: pulumi.Input; + /** + * A human-readable name for the Identity Provider. + */ + displayName: pulumi.Input; + /** + * A publicly reachable issuer URI for the Identity Provider. The unique issuer URI string represents the entity for issuing tokens. + */ + issuer: pulumi.Input; + /** + * A publicly reachable JSON Web Key Set (JWKS) URI for the Identity Provider. A JSON Web Key Set (JWKS) provides a set of keys containing the public keys used to verify any JSON Web Token (JWT) issued by your OAuth 2.0 identity provider. + */ + jwksUri: pulumi.Input; +} diff --git a/sdk/nodejs/index.ts b/sdk/nodejs/index.ts index ad5703db..08079044 100644 --- a/sdk/nodejs/index.ts +++ b/sdk/nodejs/index.ts @@ -21,6 +21,14 @@ export { GetEnvironmentArgs, GetEnvironmentResult, GetEnvironmentOutputArgs } fr export const getEnvironment: typeof import("./getEnvironment").getEnvironment = null as any; export const getEnvironmentOutput: typeof import("./getEnvironment").getEnvironmentOutput = null as any; +export { GetIdentityPoolArgs, GetIdentityPoolResult, GetIdentityPoolOutputArgs } from "./getIdentityPool"; +export const getIdentityPool: typeof import("./getIdentityPool").getIdentityPool = null as any; +export const getIdentityPoolOutput: typeof import("./getIdentityPool").getIdentityPoolOutput = null as any; + +export { GetIdentityProviderArgs, GetIdentityProviderResult, GetIdentityProviderOutputArgs } from "./getIdentityProvider"; +export const getIdentityProvider: typeof import("./getIdentityProvider").getIdentityProvider = null as any; +export const getIdentityProviderOutput: typeof import("./getIdentityProvider").getIdentityProviderOutput = null as any; + export { GetKafkaClusterArgs, GetKafkaClusterResult, GetKafkaClusterOutputArgs } from "./getKafkaCluster"; export const getKafkaCluster: typeof import("./getKafkaCluster").getKafkaCluster = null as any; export const getKafkaClusterOutput: typeof import("./getKafkaCluster").getKafkaClusterOutput = null as any; @@ -29,6 +37,10 @@ export { GetKafkaTopicArgs, GetKafkaTopicResult, GetKafkaTopicOutputArgs } from export const getKafkaTopic: typeof import("./getKafkaTopic").getKafkaTopic = null as any; export const getKafkaTopicOutput: typeof import("./getKafkaTopic").getKafkaTopicOutput = null as any; +export { GetKsqlClusterArgs, GetKsqlClusterResult, GetKsqlClusterOutputArgs } from "./getKsqlCluster"; +export const getKsqlCluster: typeof import("./getKsqlCluster").getKsqlCluster = null as any; +export const getKsqlClusterOutput: typeof import("./getKsqlCluster").getKsqlClusterOutput = null as any; + export { GetNetworkArgs, GetNetworkResult, GetNetworkOutputArgs } from "./getNetwork"; export const getNetwork: typeof import("./getNetwork").getNetwork = null as any; export const getNetworkOutput: typeof import("./getNetwork").getNetworkOutput = null as any; @@ -56,6 +68,14 @@ export { GetUserArgs, GetUserResult, GetUserOutputArgs } from "./getUser"; export const getUser: typeof import("./getUser").getUser = null as any; export const getUserOutput: typeof import("./getUser").getUserOutput = null as any; +export { IdentityPoolArgs, IdentityPoolState } from "./identityPool"; +export type IdentityPool = import("./identityPool").IdentityPool; +export const IdentityPool: typeof import("./identityPool").IdentityPool = null as any; + +export { IdentityProviderArgs, IdentityProviderState } from "./identityProvider"; +export type IdentityProvider = import("./identityProvider").IdentityProvider; +export const IdentityProvider: typeof import("./identityProvider").IdentityProvider = null as any; + export { KafkaAclArgs, KafkaAclState } from "./kafkaAcl"; export type KafkaAcl = import("./kafkaAcl").KafkaAcl; export const KafkaAcl: typeof import("./kafkaAcl").KafkaAcl = null as any; @@ -68,6 +88,10 @@ export { KafkaTopicArgs, KafkaTopicState } from "./kafkaTopic"; export type KafkaTopic = import("./kafkaTopic").KafkaTopic; export const KafkaTopic: typeof import("./kafkaTopic").KafkaTopic = null as any; +export { KsqlClusterArgs, KsqlClusterState } from "./ksqlCluster"; +export type KsqlCluster = import("./ksqlCluster").KsqlCluster; +export const KsqlCluster: typeof import("./ksqlCluster").KsqlCluster = null as any; + export { NetworkArgs, NetworkState } from "./network"; export type Network = import("./network").Network; export const Network: typeof import("./network").Network = null as any; @@ -96,8 +120,11 @@ utilities.lazyLoad(exports, ["ApiKey"], () => require("./apiKey")); utilities.lazyLoad(exports, ["Connector"], () => require("./connector")); utilities.lazyLoad(exports, ["Environment"], () => require("./environment")); utilities.lazyLoad(exports, ["getEnvironment","getEnvironmentOutput"], () => require("./getEnvironment")); +utilities.lazyLoad(exports, ["getIdentityPool","getIdentityPoolOutput"], () => require("./getIdentityPool")); +utilities.lazyLoad(exports, ["getIdentityProvider","getIdentityProviderOutput"], () => require("./getIdentityProvider")); utilities.lazyLoad(exports, ["getKafkaCluster","getKafkaClusterOutput"], () => require("./getKafkaCluster")); utilities.lazyLoad(exports, ["getKafkaTopic","getKafkaTopicOutput"], () => require("./getKafkaTopic")); +utilities.lazyLoad(exports, ["getKsqlCluster","getKsqlClusterOutput"], () => require("./getKsqlCluster")); utilities.lazyLoad(exports, ["getNetwork","getNetworkOutput"], () => require("./getNetwork")); utilities.lazyLoad(exports, ["getOrganization"], () => require("./getOrganization")); utilities.lazyLoad(exports, ["getPeering","getPeeringOutput"], () => require("./getPeering")); @@ -105,9 +132,12 @@ utilities.lazyLoad(exports, ["getPrivateLinkAccess","getPrivateLinkAccessOutput" utilities.lazyLoad(exports, ["getRoleBinding","getRoleBindingOutput"], () => require("./getRoleBinding")); utilities.lazyLoad(exports, ["getServiceAccount","getServiceAccountOutput"], () => require("./getServiceAccount")); utilities.lazyLoad(exports, ["getUser","getUserOutput"], () => require("./getUser")); +utilities.lazyLoad(exports, ["IdentityPool"], () => require("./identityPool")); +utilities.lazyLoad(exports, ["IdentityProvider"], () => require("./identityProvider")); utilities.lazyLoad(exports, ["KafkaAcl"], () => require("./kafkaAcl")); utilities.lazyLoad(exports, ["KafkaCluster"], () => require("./kafkaCluster")); utilities.lazyLoad(exports, ["KafkaTopic"], () => require("./kafkaTopic")); +utilities.lazyLoad(exports, ["KsqlCluster"], () => require("./ksqlCluster")); utilities.lazyLoad(exports, ["Network"], () => require("./network")); utilities.lazyLoad(exports, ["Peering"], () => require("./peering")); utilities.lazyLoad(exports, ["PrivateLinkAccess"], () => require("./privateLinkAccess")); @@ -134,12 +164,18 @@ const _module = { return new Connector(name, undefined, { urn }) case "confluentcloud:index/environment:Environment": return new Environment(name, undefined, { urn }) + case "confluentcloud:index/identityPool:IdentityPool": + return new IdentityPool(name, undefined, { urn }) + case "confluentcloud:index/identityProvider:IdentityProvider": + return new IdentityProvider(name, undefined, { urn }) case "confluentcloud:index/kafkaAcl:KafkaAcl": return new KafkaAcl(name, undefined, { urn }) case "confluentcloud:index/kafkaCluster:KafkaCluster": return new KafkaCluster(name, undefined, { urn }) case "confluentcloud:index/kafkaTopic:KafkaTopic": return new KafkaTopic(name, undefined, { urn }) + case "confluentcloud:index/ksqlCluster:KsqlCluster": + return new KsqlCluster(name, undefined, { urn }) case "confluentcloud:index/network:Network": return new Network(name, undefined, { urn }) case "confluentcloud:index/peering:Peering": @@ -158,9 +194,12 @@ const _module = { pulumi.runtime.registerResourceModule("confluentcloud", "index/apiKey", _module) pulumi.runtime.registerResourceModule("confluentcloud", "index/connector", _module) pulumi.runtime.registerResourceModule("confluentcloud", "index/environment", _module) +pulumi.runtime.registerResourceModule("confluentcloud", "index/identityPool", _module) +pulumi.runtime.registerResourceModule("confluentcloud", "index/identityProvider", _module) pulumi.runtime.registerResourceModule("confluentcloud", "index/kafkaAcl", _module) pulumi.runtime.registerResourceModule("confluentcloud", "index/kafkaCluster", _module) pulumi.runtime.registerResourceModule("confluentcloud", "index/kafkaTopic", _module) +pulumi.runtime.registerResourceModule("confluentcloud", "index/ksqlCluster", _module) pulumi.runtime.registerResourceModule("confluentcloud", "index/network", _module) pulumi.runtime.registerResourceModule("confluentcloud", "index/peering", _module) pulumi.runtime.registerResourceModule("confluentcloud", "index/privateLinkAccess", _module) diff --git a/sdk/nodejs/ksqlCluster.ts b/sdk/nodejs/ksqlCluster.ts new file mode 100644 index 00000000..57a14524 --- /dev/null +++ b/sdk/nodejs/ksqlCluster.ts @@ -0,0 +1,213 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "./types/input"; +import * as outputs from "./types/output"; +import * as utilities from "./utilities"; + +/** + * ## Import + * + * You can import a ksqlDB cluster by using Environment ID and ksqlDB cluster ID, in the format `/`, for example$ export CONFLUENT_CLOUD_API_KEY="" $ export CONFLUENT_CLOUD_API_SECRET="" + * + * ```sh + * $ pulumi import confluentcloud:index/ksqlCluster:KsqlCluster example env-abc123/lksqlc-abc123 + * ``` + * + * !> **Warning:** + * + * Do not forget to delete the terminal's command history afterward for security purposes. + */ +export class KsqlCluster extends pulumi.CustomResource { + /** + * Get an existing KsqlCluster resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state Any extra arguments used during the lookup. + * @param opts Optional settings to control the behavior of the CustomResource. + */ + public static get(name: string, id: pulumi.Input, state?: KsqlClusterState, opts?: pulumi.CustomResourceOptions): KsqlCluster { + return new KsqlCluster(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'confluentcloud:index/ksqlCluster:KsqlCluster'; + + /** + * Returns true if the given object is an instance of KsqlCluster. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is KsqlCluster { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === KsqlCluster.__pulumiType; + } + + /** + * (Required String) An API Version of the schema version of the ksqlDB cluster, for example, `ksqldbcm/v2`. + */ + public /*out*/ readonly apiVersion!: pulumi.Output; + public readonly credentialIdentity!: pulumi.Output; + /** + * The number of Confluent Streaming Units (CSUs) for the ksqlDB cluster. + */ + public readonly csu!: pulumi.Output; + /** + * The name of the ksqlDB cluster. + */ + public readonly displayName!: pulumi.Output; + /** + * Environment objects represent an isolated namespace for your Confluent resources for organizational purposes. + */ + public readonly environment!: pulumi.Output; + /** + * (Required String) The API endpoint of the ksqlDB cluster, for example, `https://pksqlc-00000.us-central1.gcp.glb.confluent.cloud`. + */ + public /*out*/ readonly httpEndpoint!: pulumi.Output; + public readonly kafkaCluster!: pulumi.Output; + /** + * (Required String) A kind of the ksqlDB cluster, for example, `Cluster`. + */ + public /*out*/ readonly kind!: pulumi.Output; + /** + * (Required Integer) The amount of storage (in GB) provisioned to the ksqlDB cluster. + */ + public /*out*/ readonly storage!: pulumi.Output; + /** + * (Required String) Topic name prefix used by this ksqlDB cluster. Used to assign ACLs for this ksqlDB cluster to use, for example, `pksqlc-00000`. + */ + public /*out*/ readonly topicPrefix!: pulumi.Output; + /** + * Controls whether the row data should be included in the processing log topic. Set it to `false` if you don't want to emit sensitive information to the processing log. Defaults to `true`. + */ + public readonly useDetailedProcessingLog!: pulumi.Output; + + /** + * Create a KsqlCluster resource with the given unique name, arguments, and options. + * + * @param name The _unique_ name of the resource. + * @param args The arguments to use to populate this resource's properties. + * @param opts A bag of options that control this resource's behavior. + */ + constructor(name: string, args: KsqlClusterArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: KsqlClusterArgs | KsqlClusterState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as KsqlClusterState | undefined; + resourceInputs["apiVersion"] = state ? state.apiVersion : undefined; + resourceInputs["credentialIdentity"] = state ? state.credentialIdentity : undefined; + resourceInputs["csu"] = state ? state.csu : undefined; + resourceInputs["displayName"] = state ? state.displayName : undefined; + resourceInputs["environment"] = state ? state.environment : undefined; + resourceInputs["httpEndpoint"] = state ? state.httpEndpoint : undefined; + resourceInputs["kafkaCluster"] = state ? state.kafkaCluster : undefined; + resourceInputs["kind"] = state ? state.kind : undefined; + resourceInputs["storage"] = state ? state.storage : undefined; + resourceInputs["topicPrefix"] = state ? state.topicPrefix : undefined; + resourceInputs["useDetailedProcessingLog"] = state ? state.useDetailedProcessingLog : undefined; + } else { + const args = argsOrState as KsqlClusterArgs | undefined; + if ((!args || args.credentialIdentity === undefined) && !opts.urn) { + throw new Error("Missing required property 'credentialIdentity'"); + } + if ((!args || args.csu === undefined) && !opts.urn) { + throw new Error("Missing required property 'csu'"); + } + if ((!args || args.displayName === undefined) && !opts.urn) { + throw new Error("Missing required property 'displayName'"); + } + if ((!args || args.environment === undefined) && !opts.urn) { + throw new Error("Missing required property 'environment'"); + } + if ((!args || args.kafkaCluster === undefined) && !opts.urn) { + throw new Error("Missing required property 'kafkaCluster'"); + } + resourceInputs["credentialIdentity"] = args ? args.credentialIdentity : undefined; + resourceInputs["csu"] = args ? args.csu : undefined; + resourceInputs["displayName"] = args ? args.displayName : undefined; + resourceInputs["environment"] = args ? args.environment : undefined; + resourceInputs["kafkaCluster"] = args ? args.kafkaCluster : undefined; + resourceInputs["useDetailedProcessingLog"] = args ? args.useDetailedProcessingLog : undefined; + resourceInputs["apiVersion"] = undefined /*out*/; + resourceInputs["httpEndpoint"] = undefined /*out*/; + resourceInputs["kind"] = undefined /*out*/; + resourceInputs["storage"] = undefined /*out*/; + resourceInputs["topicPrefix"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(KsqlCluster.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering KsqlCluster resources. + */ +export interface KsqlClusterState { + /** + * (Required String) An API Version of the schema version of the ksqlDB cluster, for example, `ksqldbcm/v2`. + */ + apiVersion?: pulumi.Input; + credentialIdentity?: pulumi.Input; + /** + * The number of Confluent Streaming Units (CSUs) for the ksqlDB cluster. + */ + csu?: pulumi.Input; + /** + * The name of the ksqlDB cluster. + */ + displayName?: pulumi.Input; + /** + * Environment objects represent an isolated namespace for your Confluent resources for organizational purposes. + */ + environment?: pulumi.Input; + /** + * (Required String) The API endpoint of the ksqlDB cluster, for example, `https://pksqlc-00000.us-central1.gcp.glb.confluent.cloud`. + */ + httpEndpoint?: pulumi.Input; + kafkaCluster?: pulumi.Input; + /** + * (Required String) A kind of the ksqlDB cluster, for example, `Cluster`. + */ + kind?: pulumi.Input; + /** + * (Required Integer) The amount of storage (in GB) provisioned to the ksqlDB cluster. + */ + storage?: pulumi.Input; + /** + * (Required String) Topic name prefix used by this ksqlDB cluster. Used to assign ACLs for this ksqlDB cluster to use, for example, `pksqlc-00000`. + */ + topicPrefix?: pulumi.Input; + /** + * Controls whether the row data should be included in the processing log topic. Set it to `false` if you don't want to emit sensitive information to the processing log. Defaults to `true`. + */ + useDetailedProcessingLog?: pulumi.Input; +} + +/** + * The set of arguments for constructing a KsqlCluster resource. + */ +export interface KsqlClusterArgs { + credentialIdentity: pulumi.Input; + /** + * The number of Confluent Streaming Units (CSUs) for the ksqlDB cluster. + */ + csu: pulumi.Input; + /** + * The name of the ksqlDB cluster. + */ + displayName: pulumi.Input; + /** + * Environment objects represent an isolated namespace for your Confluent resources for organizational purposes. + */ + environment: pulumi.Input; + kafkaCluster: pulumi.Input; + /** + * Controls whether the row data should be included in the processing log topic. Set it to `false` if you don't want to emit sensitive information to the processing log. Defaults to `true`. + */ + useDetailedProcessingLog?: pulumi.Input; +} diff --git a/sdk/nodejs/privateLinkAccess.ts b/sdk/nodejs/privateLinkAccess.ts index d6596eaf..f1688dcc 100644 --- a/sdk/nodejs/privateLinkAccess.ts +++ b/sdk/nodejs/privateLinkAccess.ts @@ -55,6 +55,7 @@ export class PrivateLinkAccess extends pulumi.CustomResource { * Environment objects represent an isolated namespace for your Confluent resources for organizational purposes. */ public readonly environment!: pulumi.Output; + public readonly gcp!: pulumi.Output; /** * Network represents a network (VPC) in Confluent Cloud. All Networks exist within Confluent-managed cloud provider * accounts. @@ -78,6 +79,7 @@ export class PrivateLinkAccess extends pulumi.CustomResource { resourceInputs["azure"] = state ? state.azure : undefined; resourceInputs["displayName"] = state ? state.displayName : undefined; resourceInputs["environment"] = state ? state.environment : undefined; + resourceInputs["gcp"] = state ? state.gcp : undefined; resourceInputs["network"] = state ? state.network : undefined; } else { const args = argsOrState as PrivateLinkAccessArgs | undefined; @@ -91,6 +93,7 @@ export class PrivateLinkAccess extends pulumi.CustomResource { resourceInputs["azure"] = args ? args.azure : undefined; resourceInputs["displayName"] = args ? args.displayName : undefined; resourceInputs["environment"] = args ? args.environment : undefined; + resourceInputs["gcp"] = args ? args.gcp : undefined; resourceInputs["network"] = args ? args.network : undefined; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); @@ -112,6 +115,7 @@ export interface PrivateLinkAccessState { * Environment objects represent an isolated namespace for your Confluent resources for organizational purposes. */ environment?: pulumi.Input; + gcp?: pulumi.Input; /** * Network represents a network (VPC) in Confluent Cloud. All Networks exist within Confluent-managed cloud provider * accounts. @@ -133,6 +137,7 @@ export interface PrivateLinkAccessArgs { * Environment objects represent an isolated namespace for your Confluent resources for organizational purposes. */ environment: pulumi.Input; + gcp?: pulumi.Input; /** * Network represents a network (VPC) in Confluent Cloud. All Networks exist within Confluent-managed cloud provider * accounts. diff --git a/sdk/nodejs/tsconfig.json b/sdk/nodejs/tsconfig.json index 43ac5d54..803925f9 100644 --- a/sdk/nodejs/tsconfig.json +++ b/sdk/nodejs/tsconfig.json @@ -19,8 +19,11 @@ "connector.ts", "environment.ts", "getEnvironment.ts", + "getIdentityPool.ts", + "getIdentityProvider.ts", "getKafkaCluster.ts", "getKafkaTopic.ts", + "getKsqlCluster.ts", "getNetwork.ts", "getOrganization.ts", "getPeering.ts", @@ -28,10 +31,13 @@ "getRoleBinding.ts", "getServiceAccount.ts", "getUser.ts", + "identityPool.ts", + "identityProvider.ts", "index.ts", "kafkaAcl.ts", "kafkaCluster.ts", "kafkaTopic.ts", + "ksqlCluster.ts", "network.ts", "peering.ts", "privateLinkAccess.ts", diff --git a/sdk/nodejs/types/input.ts b/sdk/nodejs/types/input.ts index fd296508..2d84a74c 100644 --- a/sdk/nodejs/types/input.ts +++ b/sdk/nodejs/types/input.ts @@ -57,74 +57,95 @@ export interface ConnectorKafkaCluster { id: pulumi.Input; } +export interface GetIdentityPoolIdentityProvider { + /** + * The ID of the Identity Provider associated with the Identity Pool, for example, `op-abc123`. + */ + id: string; +} + +export interface GetIdentityPoolIdentityProviderArgs { + /** + * The ID of the Identity Provider associated with the Identity Pool, for example, `op-abc123`. + */ + id: pulumi.Input; +} + export interface GetKafkaClusterBasic { } export interface GetKafkaClusterBasicArgs { } -export interface GetKafkaClusterDedicated { +export interface GetKafkaClusterDedicatedArgs { /** * (Required Number) The number of Confluent Kafka Units (CKUs) for Dedicated cluster types. The minimum number of CKUs for `SINGLE_ZONE` dedicated clusters is `1` whereas `MULTI_ZONE` dedicated clusters must have more than `2` CKUs. */ - cku?: number; + cku?: pulumi.Input; /** * (Optional String) The ID of the encryption key that is used to encrypt the data in the Kafka cluster, for example, `arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab` (key Amazon Resource Name) for AWS or `projects/my-test-project/locations/global/keyRings/test-byok/cryptoKeys/test` for GCP. Append required permissions to the key policy before creating a Kafka cluster, see [Encrypt Confluent Cloud Clusters using Self-Managed Keys](https://docs.confluent.io/cloud/current/clusters/byok/index.html) for more details. At the moment, self-managed encryption keys are only available for the Dedicated clusters on AWS or GCP. */ - encryptionKey?: string; + encryptionKey?: pulumi.Input; } -export interface GetKafkaClusterDedicatedArgs { +export interface GetKafkaClusterDedicated { /** * (Required Number) The number of Confluent Kafka Units (CKUs) for Dedicated cluster types. The minimum number of CKUs for `SINGLE_ZONE` dedicated clusters is `1` whereas `MULTI_ZONE` dedicated clusters must have more than `2` CKUs. */ - cku?: pulumi.Input; + cku?: number; /** * (Optional String) The ID of the encryption key that is used to encrypt the data in the Kafka cluster, for example, `arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab` (key Amazon Resource Name) for AWS or `projects/my-test-project/locations/global/keyRings/test-byok/cryptoKeys/test` for GCP. Append required permissions to the key policy before creating a Kafka cluster, see [Encrypt Confluent Cloud Clusters using Self-Managed Keys](https://docs.confluent.io/cloud/current/clusters/byok/index.html) for more details. At the moment, self-managed encryption keys are only available for the Dedicated clusters on AWS or GCP. */ - encryptionKey?: pulumi.Input; + encryptionKey?: string; } -export interface GetKafkaClusterEnvironment { +export interface GetKafkaClusterEnvironmentArgs { /** * The ID of the Environment that the Kafka cluster belongs to, for example, `env-xyz456`. */ - id: string; + id: pulumi.Input; } -export interface GetKafkaClusterEnvironmentArgs { +export interface GetKafkaClusterEnvironment { /** * The ID of the Environment that the Kafka cluster belongs to, for example, `env-xyz456`. */ - id: pulumi.Input; + id: string; } -export interface GetKafkaClusterStandardArgs { +export interface GetKafkaClusterStandard { } -export interface GetKafkaClusterStandard { +export interface GetKafkaClusterStandardArgs { } -export interface GetKafkaTopicCredentialsArgs { +export interface GetKafkaTopicCredentials { /** * The Kafka API Key. */ - key: pulumi.Input; + key: string; /** * The Kafka API Secret. */ - secret: pulumi.Input; + secret: string; } -export interface GetKafkaTopicCredentials { +export interface GetKafkaTopicCredentialsArgs { /** * The Kafka API Key. */ - key: string; + key: pulumi.Input; /** * The Kafka API Secret. */ - secret: string; + secret: pulumi.Input; +} + +export interface GetKafkaTopicKafkaClusterArgs { + /** + * The ID of the Kafka cluster, for example, `lkc-abc123`. + */ + id: pulumi.Input; } export interface GetKafkaTopicKafkaCluster { @@ -134,9 +155,16 @@ export interface GetKafkaTopicKafkaCluster { id: string; } -export interface GetKafkaTopicKafkaClusterArgs { +export interface GetKsqlClusterEnvironment { /** - * The ID of the Kafka cluster, for example, `lkc-abc123`. + * The ID of the Environment that the ksqlDB cluster belongs to, for example, `env-xyz456`. + */ + id: string; +} + +export interface GetKsqlClusterEnvironmentArgs { + /** + * The ID of the Environment that the ksqlDB cluster belongs to, for example, `env-xyz456`. */ id: pulumi.Input; } @@ -163,37 +191,41 @@ export interface GetNetworkAwArgs { vpc?: pulumi.Input; } -export interface GetNetworkAzureArgs { +export interface GetNetworkAzure { /** * (Optional Map) The mapping of zones to Private Link Service Aliases if available. Keys are zones and values are [Azure Private Link Service Aliases](https://docs.microsoft.com/en-us/azure/private-link/private-link-service-overview#share-your-service). */ - privateLinkServiceAliases?: pulumi.Input<{[key: string]: pulumi.Input}>; + privateLinkServiceAliases?: {[key: string]: string}; } -export interface GetNetworkAzure { +export interface GetNetworkAzureArgs { /** * (Optional Map) The mapping of zones to Private Link Service Aliases if available. Keys are zones and values are [Azure Private Link Service Aliases](https://docs.microsoft.com/en-us/azure/private-link/private-link-service-overview#share-your-service). */ - privateLinkServiceAliases?: {[key: string]: string}; + privateLinkServiceAliases?: pulumi.Input<{[key: string]: pulumi.Input}>; } -export interface GetNetworkEnvironment { +export interface GetNetworkEnvironmentArgs { /** * The ID of the Environment that the Network belongs to, for example, `env-xyz456`. */ - id: string; + id: pulumi.Input; } -export interface GetNetworkEnvironmentArgs { +export interface GetNetworkEnvironment { /** * The ID of the Environment that the Network belongs to, for example, `env-xyz456`. */ - id: pulumi.Input; + id: string; } export interface GetNetworkGcp { /** - * (Required String) The GCP project. + * (Optional Map) The mapping of zones to Private Service Connect service attachments if available. Keys are zones and values are [GCP Private Service Connect service attachment](https://cloud.google.com/vpc/docs/configure-private-service-connect-producer#api_7). + */ + privateServiceConnectServiceAttachments?: {[key: string]: string}; + /** + * (Required String) The GCP project ID. */ project?: string; /** @@ -204,7 +236,11 @@ export interface GetNetworkGcp { export interface GetNetworkGcpArgs { /** - * (Required String) The GCP project. + * (Optional Map) The mapping of zones to Private Service Connect service attachments if available. Keys are zones and values are [GCP Private Service Connect service attachment](https://cloud.google.com/vpc/docs/configure-private-service-connect-producer#api_7). + */ + privateServiceConnectServiceAttachments?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * (Required String) The GCP project ID. */ project?: pulumi.Input; /** @@ -213,18 +249,18 @@ export interface GetNetworkGcpArgs { vpcNetwork?: pulumi.Input; } -export interface GetPeeringEnvironment { +export interface GetPeeringEnvironmentArgs { /** * The ID of the Environment that the Peering belongs to, for example, `env-xyz456`. */ - id: string; + id: pulumi.Input; } -export interface GetPeeringEnvironmentArgs { +export interface GetPeeringEnvironment { /** * The ID of the Environment that the Peering belongs to, for example, `env-xyz456`. */ - id: pulumi.Input; + id: string; } export interface GetPrivateLinkAccessEnvironment { @@ -241,6 +277,13 @@ export interface GetPrivateLinkAccessEnvironmentArgs { id: pulumi.Input; } +export interface IdentityPoolIdentityProvider { + /** + * The ID of the Identity Provider associated with the Identity Pool, for example, `op-abc123`. + */ + id: pulumi.Input; +} + export interface KafkaAclCredentials { /** * The Kafka API Key. @@ -308,6 +351,27 @@ export interface KafkaTopicKafkaCluster { id: pulumi.Input; } +export interface KsqlClusterCredentialIdentity { + /** + * The ID of the associated service or user account, for example, `sa-abc123`. + */ + id: pulumi.Input; +} + +export interface KsqlClusterEnvironment { + /** + * The ID of the associated service or user account, for example, `sa-abc123`. + */ + id: pulumi.Input; +} + +export interface KsqlClusterKafkaCluster { + /** + * The ID of the associated service or user account, for example, `sa-abc123`. + */ + id: pulumi.Input; +} + export interface NetworkAw { /** * (Optional String) The AWS VPC endpoint service for the network (used for Private Link) if available. @@ -335,7 +399,11 @@ export interface NetworkEnvironment { export interface NetworkGcp { /** - * (Required String) The GCP project. + * (Optional Map) The mapping of zones to Private Service Connect service attachments if available. Keys are zones and values are [GCP Private Service Connect service attachment](https://cloud.google.com/vpc/docs/configure-private-service-connect-producer#api_7). + */ + privateServiceConnectServiceAttachments?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * (Required String) The GCP project ID. */ project?: pulumi.Input; /** @@ -428,6 +496,13 @@ export interface PrivateLinkAccessEnvironment { id: pulumi.Input; } +export interface PrivateLinkAccessGcp { + /** + * The GCP project ID to allow for Private Service Connect access. You can find your Google Cloud Project ID under **Project ID** section of your [Google Cloud Console dashboard](https://console.cloud.google.com/home/dashboard). + */ + project: pulumi.Input; +} + export interface PrivateLinkAccessNetwork { /** * The ID of the Network that the Private Link Access belongs to, for example, `n-abc123`. diff --git a/sdk/nodejs/types/output.ts b/sdk/nodejs/types/output.ts index c5e2060c..043f08ce 100644 --- a/sdk/nodejs/types/output.ts +++ b/sdk/nodejs/types/output.ts @@ -57,6 +57,13 @@ export interface ConnectorKafkaCluster { id: string; } +export interface GetIdentityPoolIdentityProvider { + /** + * The ID of the Identity Provider associated with the Identity Pool, for example, `op-abc123`. + */ + id: string; +} + export interface GetKafkaClusterBasic { } @@ -106,6 +113,27 @@ export interface GetKafkaTopicKafkaCluster { id: string; } +export interface GetKsqlClusterCredentialIdentity { + /** + * The ID of the Environment that the ksqlDB cluster belongs to, for example, `env-xyz456`. + */ + id: string; +} + +export interface GetKsqlClusterEnvironment { + /** + * The ID of the Environment that the ksqlDB cluster belongs to, for example, `env-xyz456`. + */ + id: string; +} + +export interface GetKsqlClusterKafkaCluster { + /** + * The ID of the Environment that the ksqlDB cluster belongs to, for example, `env-xyz456`. + */ + id: string; +} + export interface GetNetworkAw { /** * (Optional String) The AWS VPC endpoint service for the network (used for Private Link) if available. @@ -133,7 +161,11 @@ export interface GetNetworkEnvironment { export interface GetNetworkGcp { /** - * (Required String) The GCP project. + * (Optional Map) The mapping of zones to Private Service Connect service attachments if available. Keys are zones and values are [GCP Private Service Connect service attachment](https://cloud.google.com/vpc/docs/configure-private-service-connect-producer#api_7). + */ + privateServiceConnectServiceAttachments: {[key: string]: string}; + /** + * (Required String) The GCP project ID. */ project: string; /** @@ -226,6 +258,13 @@ export interface GetPrivateLinkAccessEnvironment { id: string; } +export interface GetPrivateLinkAccessGcp { + /** + * (Required String) The GCP project ID to allow for Private Service Connect access. You can find your Google Cloud Project ID under **Project ID** section of your [Google Cloud Console dashboard](https://console.cloud.google.com/home/dashboard). + */ + project: string; +} + export interface GetPrivateLinkAccessNetwork { /** * The ID of the Environment that the Private Link Access belongs to, for example, `env-xyz456`. @@ -233,6 +272,13 @@ export interface GetPrivateLinkAccessNetwork { id: string; } +export interface IdentityPoolIdentityProvider { + /** + * The ID of the Identity Provider associated with the Identity Pool, for example, `op-abc123`. + */ + id: string; +} + export interface KafkaAclCredentials { /** * The Kafka API Key. @@ -300,6 +346,27 @@ export interface KafkaTopicKafkaCluster { id: string; } +export interface KsqlClusterCredentialIdentity { + /** + * The ID of the associated service or user account, for example, `sa-abc123`. + */ + id: string; +} + +export interface KsqlClusterEnvironment { + /** + * The ID of the associated service or user account, for example, `sa-abc123`. + */ + id: string; +} + +export interface KsqlClusterKafkaCluster { + /** + * The ID of the associated service or user account, for example, `sa-abc123`. + */ + id: string; +} + export interface NetworkAw { /** * (Optional String) The AWS VPC endpoint service for the network (used for Private Link) if available. @@ -327,7 +394,11 @@ export interface NetworkEnvironment { export interface NetworkGcp { /** - * (Required String) The GCP project. + * (Optional Map) The mapping of zones to Private Service Connect service attachments if available. Keys are zones and values are [GCP Private Service Connect service attachment](https://cloud.google.com/vpc/docs/configure-private-service-connect-producer#api_7). + */ + privateServiceConnectServiceAttachments: {[key: string]: string}; + /** + * (Required String) The GCP project ID. */ project: string; /** @@ -420,6 +491,13 @@ export interface PrivateLinkAccessEnvironment { id: string; } +export interface PrivateLinkAccessGcp { + /** + * The GCP project ID to allow for Private Service Connect access. You can find your Google Cloud Project ID under **Project ID** section of your [Google Cloud Console dashboard](https://console.cloud.google.com/home/dashboard). + */ + project: string; +} + export interface PrivateLinkAccessNetwork { /** * The ID of the Network that the Private Link Access belongs to, for example, `n-abc123`. diff --git a/sdk/python/pulumi_confluentcloud/__init__.py b/sdk/python/pulumi_confluentcloud/__init__.py index 64987d32..b3990938 100644 --- a/sdk/python/pulumi_confluentcloud/__init__.py +++ b/sdk/python/pulumi_confluentcloud/__init__.py @@ -9,8 +9,11 @@ from .connector import * from .environment import * from .get_environment import * +from .get_identity_pool import * +from .get_identity_provider import * from .get_kafka_cluster import * from .get_kafka_topic import * +from .get_ksql_cluster import * from .get_network import * from .get_organization import * from .get_peering import * @@ -18,9 +21,12 @@ from .get_role_binding import * from .get_service_account import * from .get_user import * +from .identity_pool import * +from .identity_provider import * from .kafka_acl import * from .kafka_cluster import * from .kafka_topic import * +from .ksql_cluster import * from .network import * from .peering import * from .private_link_access import * @@ -64,6 +70,22 @@ "confluentcloud:index/environment:Environment": "Environment" } }, + { + "pkg": "confluentcloud", + "mod": "index/identityPool", + "fqn": "pulumi_confluentcloud", + "classes": { + "confluentcloud:index/identityPool:IdentityPool": "IdentityPool" + } + }, + { + "pkg": "confluentcloud", + "mod": "index/identityProvider", + "fqn": "pulumi_confluentcloud", + "classes": { + "confluentcloud:index/identityProvider:IdentityProvider": "IdentityProvider" + } + }, { "pkg": "confluentcloud", "mod": "index/kafkaAcl", @@ -88,6 +110,14 @@ "confluentcloud:index/kafkaTopic:KafkaTopic": "KafkaTopic" } }, + { + "pkg": "confluentcloud", + "mod": "index/ksqlCluster", + "fqn": "pulumi_confluentcloud", + "classes": { + "confluentcloud:index/ksqlCluster:KsqlCluster": "KsqlCluster" + } + }, { "pkg": "confluentcloud", "mod": "index/network", diff --git a/sdk/python/pulumi_confluentcloud/_inputs.py b/sdk/python/pulumi_confluentcloud/_inputs.py index 6edf4934..ab0098ab 100644 --- a/sdk/python/pulumi_confluentcloud/_inputs.py +++ b/sdk/python/pulumi_confluentcloud/_inputs.py @@ -15,6 +15,7 @@ 'ApiKeyOwnerArgs', 'ConnectorEnvironmentArgs', 'ConnectorKafkaClusterArgs', + 'IdentityPoolIdentityProviderArgs', 'KafkaAclCredentialsArgs', 'KafkaAclKafkaClusterArgs', 'KafkaClusterBasicArgs', @@ -24,6 +25,9 @@ 'KafkaClusterStandardArgs', 'KafkaTopicCredentialsArgs', 'KafkaTopicKafkaClusterArgs', + 'KsqlClusterCredentialIdentityArgs', + 'KsqlClusterEnvironmentArgs', + 'KsqlClusterKafkaClusterArgs', 'NetworkAwArgs', 'NetworkAzureArgs', 'NetworkEnvironmentArgs', @@ -36,13 +40,16 @@ 'PrivateLinkAccessAwsArgs', 'PrivateLinkAccessAzureArgs', 'PrivateLinkAccessEnvironmentArgs', + 'PrivateLinkAccessGcpArgs', 'PrivateLinkAccessNetworkArgs', + 'GetIdentityPoolIdentityProviderArgs', 'GetKafkaClusterBasicArgs', 'GetKafkaClusterDedicatedArgs', 'GetKafkaClusterEnvironmentArgs', 'GetKafkaClusterStandardArgs', 'GetKafkaTopicCredentialsArgs', 'GetKafkaTopicKafkaClusterArgs', + 'GetKsqlClusterEnvironmentArgs', 'GetNetworkAwArgs', 'GetNetworkAzureArgs', 'GetNetworkEnvironmentArgs', @@ -232,6 +239,28 @@ def id(self, value: pulumi.Input[str]): pulumi.set(self, "id", value) +@pulumi.input_type +class IdentityPoolIdentityProviderArgs: + def __init__(__self__, *, + id: pulumi.Input[str]): + """ + :param pulumi.Input[str] id: The ID of the Identity Provider associated with the Identity Pool, for example, `op-abc123`. + """ + pulumi.set(__self__, "id", id) + + @property + @pulumi.getter + def id(self) -> pulumi.Input[str]: + """ + The ID of the Identity Provider associated with the Identity Pool, for example, `op-abc123`. + """ + return pulumi.get(self, "id") + + @id.setter + def id(self, value: pulumi.Input[str]): + pulumi.set(self, "id", value) + + @pulumi.input_type class KafkaAclCredentialsArgs: def __init__(__self__, *, @@ -444,6 +473,72 @@ def id(self, value: pulumi.Input[str]): pulumi.set(self, "id", value) +@pulumi.input_type +class KsqlClusterCredentialIdentityArgs: + def __init__(__self__, *, + id: pulumi.Input[str]): + """ + :param pulumi.Input[str] id: The ID of the associated service or user account, for example, `sa-abc123`. + """ + pulumi.set(__self__, "id", id) + + @property + @pulumi.getter + def id(self) -> pulumi.Input[str]: + """ + The ID of the associated service or user account, for example, `sa-abc123`. + """ + return pulumi.get(self, "id") + + @id.setter + def id(self, value: pulumi.Input[str]): + pulumi.set(self, "id", value) + + +@pulumi.input_type +class KsqlClusterEnvironmentArgs: + def __init__(__self__, *, + id: pulumi.Input[str]): + """ + :param pulumi.Input[str] id: The ID of the associated service or user account, for example, `sa-abc123`. + """ + pulumi.set(__self__, "id", id) + + @property + @pulumi.getter + def id(self) -> pulumi.Input[str]: + """ + The ID of the associated service or user account, for example, `sa-abc123`. + """ + return pulumi.get(self, "id") + + @id.setter + def id(self, value: pulumi.Input[str]): + pulumi.set(self, "id", value) + + +@pulumi.input_type +class KsqlClusterKafkaClusterArgs: + def __init__(__self__, *, + id: pulumi.Input[str]): + """ + :param pulumi.Input[str] id: The ID of the associated service or user account, for example, `sa-abc123`. + """ + pulumi.set(__self__, "id", id) + + @property + @pulumi.getter + def id(self) -> pulumi.Input[str]: + """ + The ID of the associated service or user account, for example, `sa-abc123`. + """ + return pulumi.get(self, "id") + + @id.setter + def id(self, value: pulumi.Input[str]): + pulumi.set(self, "id", value) + + @pulumi.input_type class NetworkAwArgs: def __init__(__self__, *, @@ -531,22 +626,38 @@ def id(self, value: pulumi.Input[str]): @pulumi.input_type class NetworkGcpArgs: def __init__(__self__, *, + private_service_connect_service_attachments: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, project: Optional[pulumi.Input[str]] = None, vpc_network: Optional[pulumi.Input[str]] = None): """ - :param pulumi.Input[str] project: (Required String) The GCP project. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] private_service_connect_service_attachments: (Optional Map) The mapping of zones to Private Service Connect service attachments if available. Keys are zones and values are [GCP Private Service Connect service attachment](https://cloud.google.com/vpc/docs/configure-private-service-connect-producer#api_7). + :param pulumi.Input[str] project: (Required String) The GCP project ID. :param pulumi.Input[str] vpc_network: (Required String) The GCP VPC network name. """ + if private_service_connect_service_attachments is not None: + pulumi.set(__self__, "private_service_connect_service_attachments", private_service_connect_service_attachments) if project is not None: pulumi.set(__self__, "project", project) if vpc_network is not None: pulumi.set(__self__, "vpc_network", vpc_network) + @property + @pulumi.getter(name="privateServiceConnectServiceAttachments") + def private_service_connect_service_attachments(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + (Optional Map) The mapping of zones to Private Service Connect service attachments if available. Keys are zones and values are [GCP Private Service Connect service attachment](https://cloud.google.com/vpc/docs/configure-private-service-connect-producer#api_7). + """ + return pulumi.get(self, "private_service_connect_service_attachments") + + @private_service_connect_service_attachments.setter + def private_service_connect_service_attachments(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "private_service_connect_service_attachments", value) + @property @pulumi.getter def project(self) -> Optional[pulumi.Input[str]]: """ - (Required String) The GCP project. + (Required String) The GCP project ID. """ return pulumi.get(self, "project") @@ -849,6 +960,28 @@ def id(self, value: pulumi.Input[str]): pulumi.set(self, "id", value) +@pulumi.input_type +class PrivateLinkAccessGcpArgs: + def __init__(__self__, *, + project: pulumi.Input[str]): + """ + :param pulumi.Input[str] project: The GCP project ID to allow for Private Service Connect access. You can find your Google Cloud Project ID under **Project ID** section of your [Google Cloud Console dashboard](https://console.cloud.google.com/home/dashboard). + """ + pulumi.set(__self__, "project", project) + + @property + @pulumi.getter + def project(self) -> pulumi.Input[str]: + """ + The GCP project ID to allow for Private Service Connect access. You can find your Google Cloud Project ID under **Project ID** section of your [Google Cloud Console dashboard](https://console.cloud.google.com/home/dashboard). + """ + return pulumi.get(self, "project") + + @project.setter + def project(self, value: pulumi.Input[str]): + pulumi.set(self, "project", value) + + @pulumi.input_type class PrivateLinkAccessNetworkArgs: def __init__(__self__, *, @@ -871,6 +1004,28 @@ def id(self, value: pulumi.Input[str]): pulumi.set(self, "id", value) +@pulumi.input_type +class GetIdentityPoolIdentityProviderArgs: + def __init__(__self__, *, + id: str): + """ + :param str id: The ID of the Identity Provider associated with the Identity Pool, for example, `op-abc123`. + """ + pulumi.set(__self__, "id", id) + + @property + @pulumi.getter + def id(self) -> str: + """ + The ID of the Identity Provider associated with the Identity Pool, for example, `op-abc123`. + """ + return pulumi.get(self, "id") + + @id.setter + def id(self, value: str): + pulumi.set(self, "id", value) + + @pulumi.input_type class GetKafkaClusterBasicArgs: def __init__(__self__): @@ -1001,6 +1156,28 @@ def id(self, value: str): pulumi.set(self, "id", value) +@pulumi.input_type +class GetKsqlClusterEnvironmentArgs: + def __init__(__self__, *, + id: str): + """ + :param str id: The ID of the Environment that the ksqlDB cluster belongs to, for example, `env-xyz456`. + """ + pulumi.set(__self__, "id", id) + + @property + @pulumi.getter + def id(self) -> str: + """ + The ID of the Environment that the ksqlDB cluster belongs to, for example, `env-xyz456`. + """ + return pulumi.get(self, "id") + + @id.setter + def id(self, value: str): + pulumi.set(self, "id", value) + + @pulumi.input_type class GetNetworkAwArgs: def __init__(__self__, *, @@ -1085,20 +1262,35 @@ def id(self, value: str): @pulumi.input_type class GetNetworkGcpArgs: def __init__(__self__, *, + private_service_connect_service_attachments: Mapping[str, str], project: str, vpc_network: str): """ - :param str project: (Required String) The GCP project. + :param Mapping[str, str] private_service_connect_service_attachments: (Optional Map) The mapping of zones to Private Service Connect service attachments if available. Keys are zones and values are [GCP Private Service Connect service attachment](https://cloud.google.com/vpc/docs/configure-private-service-connect-producer#api_7). + :param str project: (Required String) The GCP project ID. :param str vpc_network: (Required String) The GCP VPC network name. """ + pulumi.set(__self__, "private_service_connect_service_attachments", private_service_connect_service_attachments) pulumi.set(__self__, "project", project) pulumi.set(__self__, "vpc_network", vpc_network) + @property + @pulumi.getter(name="privateServiceConnectServiceAttachments") + def private_service_connect_service_attachments(self) -> Mapping[str, str]: + """ + (Optional Map) The mapping of zones to Private Service Connect service attachments if available. Keys are zones and values are [GCP Private Service Connect service attachment](https://cloud.google.com/vpc/docs/configure-private-service-connect-producer#api_7). + """ + return pulumi.get(self, "private_service_connect_service_attachments") + + @private_service_connect_service_attachments.setter + def private_service_connect_service_attachments(self, value: Mapping[str, str]): + pulumi.set(self, "private_service_connect_service_attachments", value) + @property @pulumi.getter def project(self) -> str: """ - (Required String) The GCP project. + (Required String) The GCP project ID. """ return pulumi.get(self, "project") diff --git a/sdk/python/pulumi_confluentcloud/get_identity_pool.py b/sdk/python/pulumi_confluentcloud/get_identity_pool.py new file mode 100644 index 00000000..dbc16ea0 --- /dev/null +++ b/sdk/python/pulumi_confluentcloud/get_identity_pool.py @@ -0,0 +1,185 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from . import _utilities +from . import outputs +from ._inputs import * + +__all__ = [ + 'GetIdentityPoolResult', + 'AwaitableGetIdentityPoolResult', + 'get_identity_pool', + 'get_identity_pool_output', +] + +@pulumi.output_type +class GetIdentityPoolResult: + """ + A collection of values returned by getIdentityPool. + """ + def __init__(__self__, description=None, display_name=None, filter=None, id=None, identity_claim=None, identity_provider=None): + if description and not isinstance(description, str): + raise TypeError("Expected argument 'description' to be a str") + pulumi.set(__self__, "description", description) + if display_name and not isinstance(display_name, str): + raise TypeError("Expected argument 'display_name' to be a str") + pulumi.set(__self__, "display_name", display_name) + if filter and not isinstance(filter, str): + raise TypeError("Expected argument 'filter' to be a str") + pulumi.set(__self__, "filter", filter) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if identity_claim and not isinstance(identity_claim, str): + raise TypeError("Expected argument 'identity_claim' to be a str") + pulumi.set(__self__, "identity_claim", identity_claim) + if identity_provider and not isinstance(identity_provider, dict): + raise TypeError("Expected argument 'identity_provider' to be a dict") + pulumi.set(__self__, "identity_provider", identity_provider) + + @property + @pulumi.getter + def description(self) -> str: + """ + (Required String) A description for the Identity Pool. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> str: + """ + (Required String) A human-readable name for the Identity Pool. + """ + return pulumi.get(self, "display_name") + + @property + @pulumi.getter + def filter(self) -> str: + """ + (Required String) A filter expression in [Supported Common Expression Language (CEL)](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html#supported-common-expression-language-cel-filters) that specifies which identities can authenticate using your identity pool (see [Set identity pool filters](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html#set-identity-pool-filters) for more details). + """ + return pulumi.get(self, "filter") + + @property + @pulumi.getter + def id(self) -> str: + """ + (Required String) The ID of the Identity Provider associated with the Identity Pool, for example, `op-abc123`. + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter(name="identityClaim") + def identity_claim(self) -> str: + """ + (Required String) The JSON Web Token (JWT) claim to extract the authenticating identity to Confluent resources from (see [Registered Claim Names](https://datatracker.ietf.org/doc/html/rfc7519#section-4.1) for more details). This appears in the audit log records, showing, for example, that "identity Z used identity pool X to access topic A". + """ + return pulumi.get(self, "identity_claim") + + @property + @pulumi.getter(name="identityProvider") + def identity_provider(self) -> 'outputs.GetIdentityPoolIdentityProviderResult': + return pulumi.get(self, "identity_provider") + + +class AwaitableGetIdentityPoolResult(GetIdentityPoolResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetIdentityPoolResult( + description=self.description, + display_name=self.display_name, + filter=self.filter, + id=self.id, + identity_claim=self.identity_claim, + identity_provider=self.identity_provider) + + +def get_identity_pool(display_name: Optional[str] = None, + id: Optional[str] = None, + identity_provider: Optional[pulumi.InputType['GetIdentityPoolIdentityProviderArgs']] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetIdentityPoolResult: + """ + [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy) [![Request Access To OAuth API](https://img.shields.io/badge/-Request%20Access%20To%20OAuth%20API-%23bc8540)](mailto:ccloud-api-access+iam-v2-closed-preview@confluent.io?subject=Request%20to%20join%20OAuth%20API%20Closed%20Preview&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Closed%20Preview%20for%20iam/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + `IdentityPool` describes an Identity Pool data source. + + ## Example Usage + + ```python + import pulumi + import pulumi_confluentcloud as confluentcloud + + example_using_id_identity_pool = confluentcloud.get_identity_pool(id="pool-xyz456", + identity_provider=confluentcloud.GetIdentityPoolIdentityProviderArgs( + id="op-abc123", + )) + pulumi.export("exampleUsingId", example_using_id_identity_pool) + example_using_name_identity_pool = confluentcloud.get_identity_pool(display_name="My Identity Pool", + identity_provider=confluentcloud.GetIdentityPoolIdentityProviderArgs( + id="op-abc123", + )) + pulumi.export("exampleUsingName", example_using_name_identity_pool) + ``` + + + :param str display_name: A human-readable name for the Identity Pool. + :param str id: The ID of the Identity Provider associated with the Identity Pool, for example, `op-abc123`. + """ + __args__ = dict() + __args__['displayName'] = display_name + __args__['id'] = id + __args__['identityProvider'] = identity_provider + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('confluentcloud:index/getIdentityPool:getIdentityPool', __args__, opts=opts, typ=GetIdentityPoolResult).value + + return AwaitableGetIdentityPoolResult( + description=__ret__.description, + display_name=__ret__.display_name, + filter=__ret__.filter, + id=__ret__.id, + identity_claim=__ret__.identity_claim, + identity_provider=__ret__.identity_provider) + + +@_utilities.lift_output_func(get_identity_pool) +def get_identity_pool_output(display_name: Optional[pulumi.Input[Optional[str]]] = None, + id: Optional[pulumi.Input[Optional[str]]] = None, + identity_provider: Optional[pulumi.Input[pulumi.InputType['GetIdentityPoolIdentityProviderArgs']]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetIdentityPoolResult]: + """ + [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy) [![Request Access To OAuth API](https://img.shields.io/badge/-Request%20Access%20To%20OAuth%20API-%23bc8540)](mailto:ccloud-api-access+iam-v2-closed-preview@confluent.io?subject=Request%20to%20join%20OAuth%20API%20Closed%20Preview&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Closed%20Preview%20for%20iam/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + `IdentityPool` describes an Identity Pool data source. + + ## Example Usage + + ```python + import pulumi + import pulumi_confluentcloud as confluentcloud + + example_using_id_identity_pool = confluentcloud.get_identity_pool(id="pool-xyz456", + identity_provider=confluentcloud.GetIdentityPoolIdentityProviderArgs( + id="op-abc123", + )) + pulumi.export("exampleUsingId", example_using_id_identity_pool) + example_using_name_identity_pool = confluentcloud.get_identity_pool(display_name="My Identity Pool", + identity_provider=confluentcloud.GetIdentityPoolIdentityProviderArgs( + id="op-abc123", + )) + pulumi.export("exampleUsingName", example_using_name_identity_pool) + ``` + + + :param str display_name: A human-readable name for the Identity Pool. + :param str id: The ID of the Identity Provider associated with the Identity Pool, for example, `op-abc123`. + """ + ... diff --git a/sdk/python/pulumi_confluentcloud/get_identity_provider.py b/sdk/python/pulumi_confluentcloud/get_identity_provider.py new file mode 100644 index 00000000..3d0a922d --- /dev/null +++ b/sdk/python/pulumi_confluentcloud/get_identity_provider.py @@ -0,0 +1,158 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = [ + 'GetIdentityProviderResult', + 'AwaitableGetIdentityProviderResult', + 'get_identity_provider', + 'get_identity_provider_output', +] + +@pulumi.output_type +class GetIdentityProviderResult: + """ + A collection of values returned by getIdentityProvider. + """ + def __init__(__self__, description=None, display_name=None, id=None, issuer=None, jwks_uri=None): + if description and not isinstance(description, str): + raise TypeError("Expected argument 'description' to be a str") + pulumi.set(__self__, "description", description) + if display_name and not isinstance(display_name, str): + raise TypeError("Expected argument 'display_name' to be a str") + pulumi.set(__self__, "display_name", display_name) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if issuer and not isinstance(issuer, str): + raise TypeError("Expected argument 'issuer' to be a str") + pulumi.set(__self__, "issuer", issuer) + if jwks_uri and not isinstance(jwks_uri, str): + raise TypeError("Expected argument 'jwks_uri' to be a str") + pulumi.set(__self__, "jwks_uri", jwks_uri) + + @property + @pulumi.getter + def description(self) -> str: + """ + (Required String) A description for the Identity Provider. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> str: + """ + (Required String) A human-readable name for the Identity Provider. + """ + return pulumi.get(self, "display_name") + + @property + @pulumi.getter + def id(self) -> str: + """ + (Required String) The ID of the Identity Provider, for example, `op-abc123`. + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter + def issuer(self) -> str: + """ + (Required String) A publicly reachable issuer URI for the Identity Provider. The unique issuer URI string represents the entity for issuing tokens. + """ + return pulumi.get(self, "issuer") + + @property + @pulumi.getter(name="jwksUri") + def jwks_uri(self) -> str: + """ + (Required String) A publicly reachable JSON Web Key Set (JWKS) URI for the Identity Provider. A JSON Web Key Set (JWKS) provides a set of keys containing the public keys used to verify any JSON Web Token (JWT) issued by your OAuth 2.0 identity provider. + """ + return pulumi.get(self, "jwks_uri") + + +class AwaitableGetIdentityProviderResult(GetIdentityProviderResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetIdentityProviderResult( + description=self.description, + display_name=self.display_name, + id=self.id, + issuer=self.issuer, + jwks_uri=self.jwks_uri) + + +def get_identity_provider(display_name: Optional[str] = None, + id: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetIdentityProviderResult: + """ + [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy) [![Request Access To OAuth API](https://img.shields.io/badge/-Request%20Access%20To%20OAuth%20API-%23bc8540)](mailto:ccloud-api-access+iam-v2-closed-preview@confluent.io?subject=Request%20to%20join%20OAuth%20API%20Closed%20Preview&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Closed%20Preview%20for%20iam/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + `IdentityProvider` describes an Identity Provider data source. + + ## Example Usage + + ```python + import pulumi + import pulumi_confluentcloud as confluentcloud + + example_using_id_identity_provider = confluentcloud.get_identity_provider(id="op-abc123") + pulumi.export("exampleUsingId", example_using_id_identity_provider) + example_using_name_identity_provider = confluentcloud.get_identity_provider(display_name="My OIDC Provider: Azure AD") + pulumi.export("exampleUsingName", example_using_name_identity_provider) + ``` + + + :param str display_name: A human-readable name for the Identity Provider. + :param str id: The ID of the Identity Provider, for example, `op-abc123`. + """ + __args__ = dict() + __args__['displayName'] = display_name + __args__['id'] = id + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('confluentcloud:index/getIdentityProvider:getIdentityProvider', __args__, opts=opts, typ=GetIdentityProviderResult).value + + return AwaitableGetIdentityProviderResult( + description=__ret__.description, + display_name=__ret__.display_name, + id=__ret__.id, + issuer=__ret__.issuer, + jwks_uri=__ret__.jwks_uri) + + +@_utilities.lift_output_func(get_identity_provider) +def get_identity_provider_output(display_name: Optional[pulumi.Input[Optional[str]]] = None, + id: Optional[pulumi.Input[Optional[str]]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetIdentityProviderResult]: + """ + [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy) [![Request Access To OAuth API](https://img.shields.io/badge/-Request%20Access%20To%20OAuth%20API-%23bc8540)](mailto:ccloud-api-access+iam-v2-closed-preview@confluent.io?subject=Request%20to%20join%20OAuth%20API%20Closed%20Preview&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Closed%20Preview%20for%20iam/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + `IdentityProvider` describes an Identity Provider data source. + + ## Example Usage + + ```python + import pulumi + import pulumi_confluentcloud as confluentcloud + + example_using_id_identity_provider = confluentcloud.get_identity_provider(id="op-abc123") + pulumi.export("exampleUsingId", example_using_id_identity_provider) + example_using_name_identity_provider = confluentcloud.get_identity_provider(display_name="My OIDC Provider: Azure AD") + pulumi.export("exampleUsingName", example_using_name_identity_provider) + ``` + + + :param str display_name: A human-readable name for the Identity Provider. + :param str id: The ID of the Identity Provider, for example, `op-abc123`. + """ + ... diff --git a/sdk/python/pulumi_confluentcloud/get_ksql_cluster.py b/sdk/python/pulumi_confluentcloud/get_ksql_cluster.py new file mode 100644 index 00000000..f6fbdaf9 --- /dev/null +++ b/sdk/python/pulumi_confluentcloud/get_ksql_cluster.py @@ -0,0 +1,257 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from . import _utilities +from . import outputs +from ._inputs import * + +__all__ = [ + 'GetKsqlClusterResult', + 'AwaitableGetKsqlClusterResult', + 'get_ksql_cluster', + 'get_ksql_cluster_output', +] + +@pulumi.output_type +class GetKsqlClusterResult: + """ + A collection of values returned by getKsqlCluster. + """ + def __init__(__self__, api_version=None, credential_identities=None, csu=None, display_name=None, environment=None, http_endpoint=None, id=None, kafka_clusters=None, kind=None, storage=None, topic_prefix=None, use_detailed_processing_log=None): + if api_version and not isinstance(api_version, str): + raise TypeError("Expected argument 'api_version' to be a str") + pulumi.set(__self__, "api_version", api_version) + if credential_identities and not isinstance(credential_identities, list): + raise TypeError("Expected argument 'credential_identities' to be a list") + pulumi.set(__self__, "credential_identities", credential_identities) + if csu and not isinstance(csu, int): + raise TypeError("Expected argument 'csu' to be a int") + pulumi.set(__self__, "csu", csu) + if display_name and not isinstance(display_name, str): + raise TypeError("Expected argument 'display_name' to be a str") + pulumi.set(__self__, "display_name", display_name) + if environment and not isinstance(environment, dict): + raise TypeError("Expected argument 'environment' to be a dict") + pulumi.set(__self__, "environment", environment) + if http_endpoint and not isinstance(http_endpoint, str): + raise TypeError("Expected argument 'http_endpoint' to be a str") + pulumi.set(__self__, "http_endpoint", http_endpoint) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if kafka_clusters and not isinstance(kafka_clusters, list): + raise TypeError("Expected argument 'kafka_clusters' to be a list") + pulumi.set(__self__, "kafka_clusters", kafka_clusters) + if kind and not isinstance(kind, str): + raise TypeError("Expected argument 'kind' to be a str") + pulumi.set(__self__, "kind", kind) + if storage and not isinstance(storage, int): + raise TypeError("Expected argument 'storage' to be a int") + pulumi.set(__self__, "storage", storage) + if topic_prefix and not isinstance(topic_prefix, str): + raise TypeError("Expected argument 'topic_prefix' to be a str") + pulumi.set(__self__, "topic_prefix", topic_prefix) + if use_detailed_processing_log and not isinstance(use_detailed_processing_log, bool): + raise TypeError("Expected argument 'use_detailed_processing_log' to be a bool") + pulumi.set(__self__, "use_detailed_processing_log", use_detailed_processing_log) + + @property + @pulumi.getter(name="apiVersion") + def api_version(self) -> str: + """ + (Required String) An API Version of the schema version of the ksqlDB cluster, for example, `ksqldbcm/v2`. + """ + return pulumi.get(self, "api_version") + + @property + @pulumi.getter(name="credentialIdentities") + def credential_identities(self) -> Sequence['outputs.GetKsqlClusterCredentialIdentityResult']: + return pulumi.get(self, "credential_identities") + + @property + @pulumi.getter + def csu(self) -> int: + """ + (Required Number) The number of CSUs (Confluent Streaming Units) in the ksqlDB cluster. + - `use_detailed_processing_log` (Optional Boolean) Controls whether the row data should be included in the processing log topic. + """ + return pulumi.get(self, "csu") + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> str: + return pulumi.get(self, "display_name") + + @property + @pulumi.getter + def environment(self) -> 'outputs.GetKsqlClusterEnvironmentResult': + return pulumi.get(self, "environment") + + @property + @pulumi.getter(name="httpEndpoint") + def http_endpoint(self) -> str: + """ + (Required String) The API endpoint of the ksqlDB cluster, for example, `https://pksqlc-00000.us-central1.gcp.glb.confluent.cloud`. + - `kafka_cluster` (Optional Configuration Block) supports the following: + """ + return pulumi.get(self, "http_endpoint") + + @property + @pulumi.getter + def id(self) -> str: + """ + (Required String) The ID of the service or user account that the ksqlDB cluster belongs to, for example, `sa-abc123`. + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter(name="kafkaClusters") + def kafka_clusters(self) -> Sequence['outputs.GetKsqlClusterKafkaClusterResult']: + return pulumi.get(self, "kafka_clusters") + + @property + @pulumi.getter + def kind(self) -> str: + """ + (Required String) A kind of the ksqlDB cluster, for example, `Cluster`. + """ + return pulumi.get(self, "kind") + + @property + @pulumi.getter + def storage(self) -> int: + """ + (Required Integer) The amount of storage (in GB) provisioned to this cluster. + """ + return pulumi.get(self, "storage") + + @property + @pulumi.getter(name="topicPrefix") + def topic_prefix(self) -> str: + """ + (Required String) Topic name prefix used by this ksqlDB cluster. Used to assign ACLs for this ksqlDB cluster to use, for example, `pksqlc-00000`. + """ + return pulumi.get(self, "topic_prefix") + + @property + @pulumi.getter(name="useDetailedProcessingLog") + def use_detailed_processing_log(self) -> bool: + return pulumi.get(self, "use_detailed_processing_log") + + +class AwaitableGetKsqlClusterResult(GetKsqlClusterResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetKsqlClusterResult( + api_version=self.api_version, + credential_identities=self.credential_identities, + csu=self.csu, + display_name=self.display_name, + environment=self.environment, + http_endpoint=self.http_endpoint, + id=self.id, + kafka_clusters=self.kafka_clusters, + kind=self.kind, + storage=self.storage, + topic_prefix=self.topic_prefix, + use_detailed_processing_log=self.use_detailed_processing_log) + + +def get_ksql_cluster(display_name: Optional[str] = None, + environment: Optional[pulumi.InputType['GetKsqlClusterEnvironmentArgs']] = None, + id: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetKsqlClusterResult: + """ + ## # KsqlCluster Data Source + + [![Open Preview](https://img.shields.io/badge/Lifecycle%20Stage-Open%20Preview-%2300afba)](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy) + + `KsqlCluster` describes a ksqlDB cluster data source. + + ## Example Usage + + ```python + import pulumi + import pulumi_confluentcloud as confluentcloud + + example_using_id_ksql_cluster = confluentcloud.get_ksql_cluster(id="lksqlc-abc123", + environment=confluentcloud.GetKsqlClusterEnvironmentArgs( + id="env-xyz456", + )) + pulumi.export("exampleUsingId", example_using_id_ksql_cluster) + example_using_name_ksql_cluster = confluentcloud.get_ksql_cluster(display_name="ksqldb_cluster", + environment=confluentcloud.GetKsqlClusterEnvironmentArgs( + id="env-xyz456", + )) + pulumi.export("exampleUsingName", example_using_name_ksql_cluster) + ``` + + + :param str display_name: The name of the ksqlDB cluster. + :param str id: The ID of the Environment that the ksqlDB cluster belongs to, for example, `env-xyz456`. + """ + __args__ = dict() + __args__['displayName'] = display_name + __args__['environment'] = environment + __args__['id'] = id + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('confluentcloud:index/getKsqlCluster:getKsqlCluster', __args__, opts=opts, typ=GetKsqlClusterResult).value + + return AwaitableGetKsqlClusterResult( + api_version=__ret__.api_version, + credential_identities=__ret__.credential_identities, + csu=__ret__.csu, + display_name=__ret__.display_name, + environment=__ret__.environment, + http_endpoint=__ret__.http_endpoint, + id=__ret__.id, + kafka_clusters=__ret__.kafka_clusters, + kind=__ret__.kind, + storage=__ret__.storage, + topic_prefix=__ret__.topic_prefix, + use_detailed_processing_log=__ret__.use_detailed_processing_log) + + +@_utilities.lift_output_func(get_ksql_cluster) +def get_ksql_cluster_output(display_name: Optional[pulumi.Input[Optional[str]]] = None, + environment: Optional[pulumi.Input[pulumi.InputType['GetKsqlClusterEnvironmentArgs']]] = None, + id: Optional[pulumi.Input[Optional[str]]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetKsqlClusterResult]: + """ + ## # KsqlCluster Data Source + + [![Open Preview](https://img.shields.io/badge/Lifecycle%20Stage-Open%20Preview-%2300afba)](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy) + + `KsqlCluster` describes a ksqlDB cluster data source. + + ## Example Usage + + ```python + import pulumi + import pulumi_confluentcloud as confluentcloud + + example_using_id_ksql_cluster = confluentcloud.get_ksql_cluster(id="lksqlc-abc123", + environment=confluentcloud.GetKsqlClusterEnvironmentArgs( + id="env-xyz456", + )) + pulumi.export("exampleUsingId", example_using_id_ksql_cluster) + example_using_name_ksql_cluster = confluentcloud.get_ksql_cluster(display_name="ksqldb_cluster", + environment=confluentcloud.GetKsqlClusterEnvironmentArgs( + id="env-xyz456", + )) + pulumi.export("exampleUsingName", example_using_name_ksql_cluster) + ``` + + + :param str display_name: The name of the ksqlDB cluster. + :param str id: The ID of the Environment that the ksqlDB cluster belongs to, for example, `env-xyz456`. + """ + ... diff --git a/sdk/python/pulumi_confluentcloud/get_private_link_access.py b/sdk/python/pulumi_confluentcloud/get_private_link_access.py index a8aed5ef..91b229cc 100644 --- a/sdk/python/pulumi_confluentcloud/get_private_link_access.py +++ b/sdk/python/pulumi_confluentcloud/get_private_link_access.py @@ -23,7 +23,7 @@ class GetPrivateLinkAccessResult: """ A collection of values returned by getPrivateLinkAccess. """ - def __init__(__self__, aws=None, azures=None, display_name=None, environment=None, id=None, networks=None): + def __init__(__self__, aws=None, azures=None, display_name=None, environment=None, gcps=None, id=None, networks=None): if aws and not isinstance(aws, list): raise TypeError("Expected argument 'aws' to be a list") pulumi.set(__self__, "aws", aws) @@ -36,6 +36,9 @@ def __init__(__self__, aws=None, azures=None, display_name=None, environment=Non if environment and not isinstance(environment, dict): raise TypeError("Expected argument 'environment' to be a dict") pulumi.set(__self__, "environment", environment) + if gcps and not isinstance(gcps, list): + raise TypeError("Expected argument 'gcps' to be a list") + pulumi.set(__self__, "gcps", gcps) if id and not isinstance(id, str): raise TypeError("Expected argument 'id' to be a str") pulumi.set(__self__, "id", id) @@ -73,6 +76,14 @@ def display_name(self) -> str: def environment(self) -> 'outputs.GetPrivateLinkAccessEnvironmentResult': return pulumi.get(self, "environment") + @property + @pulumi.getter + def gcps(self) -> Sequence['outputs.GetPrivateLinkAccessGcpResult']: + """ + (Optional Configuration Block) The GCP-specific Private Service Connect details if available. It supports the following: + """ + return pulumi.get(self, "gcps") + @property @pulumi.getter def id(self) -> str: @@ -97,6 +108,7 @@ def __await__(self): azures=self.azures, display_name=self.display_name, environment=self.environment, + gcps=self.gcps, id=self.id, networks=self.networks) @@ -144,6 +156,7 @@ def get_private_link_access(display_name: Optional[str] = None, azures=__ret__.azures, display_name=__ret__.display_name, environment=__ret__.environment, + gcps=__ret__.gcps, id=__ret__.id, networks=__ret__.networks) diff --git a/sdk/python/pulumi_confluentcloud/identity_pool.py b/sdk/python/pulumi_confluentcloud/identity_pool.py new file mode 100644 index 00000000..461b3023 --- /dev/null +++ b/sdk/python/pulumi_confluentcloud/identity_pool.py @@ -0,0 +1,460 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from . import _utilities +from . import outputs +from ._inputs import * + +__all__ = ['IdentityPoolArgs', 'IdentityPool'] + +@pulumi.input_type +class IdentityPoolArgs: + def __init__(__self__, *, + description: pulumi.Input[str], + display_name: pulumi.Input[str], + filter: pulumi.Input[str], + identity_claim: pulumi.Input[str], + identity_provider: pulumi.Input['IdentityPoolIdentityProviderArgs']): + """ + The set of arguments for constructing a IdentityPool resource. + :param pulumi.Input[str] description: A description for the Identity Pool. + :param pulumi.Input[str] display_name: A human-readable name for the Identity Pool. + :param pulumi.Input[str] filter: A filter expression in [Supported Common Expression Language (CEL)](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html#supported-common-expression-language-cel-filters) that specifies which identities can authenticate using your identity pool (see [Set identity pool filters](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html#set-identity-pool-filters) for more details). + :param pulumi.Input[str] identity_claim: The JSON Web Token (JWT) claim to extract the authenticating identity to Confluent resources from (see [Registered Claim Names](https://datatracker.ietf.org/doc/html/rfc7519#section-4.1) for more details). This appears in the audit log records, showing, for example, that "identity Z used identity pool X to access topic A". + :param pulumi.Input['IdentityPoolIdentityProviderArgs'] identity_provider: Identity Provider objects represent external OAuth/OpenID Connect providers within Confluent Cloud. + """ + pulumi.set(__self__, "description", description) + pulumi.set(__self__, "display_name", display_name) + pulumi.set(__self__, "filter", filter) + pulumi.set(__self__, "identity_claim", identity_claim) + pulumi.set(__self__, "identity_provider", identity_provider) + + @property + @pulumi.getter + def description(self) -> pulumi.Input[str]: + """ + A description for the Identity Pool. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: pulumi.Input[str]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> pulumi.Input[str]: + """ + A human-readable name for the Identity Pool. + """ + return pulumi.get(self, "display_name") + + @display_name.setter + def display_name(self, value: pulumi.Input[str]): + pulumi.set(self, "display_name", value) + + @property + @pulumi.getter + def filter(self) -> pulumi.Input[str]: + """ + A filter expression in [Supported Common Expression Language (CEL)](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html#supported-common-expression-language-cel-filters) that specifies which identities can authenticate using your identity pool (see [Set identity pool filters](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html#set-identity-pool-filters) for more details). + """ + return pulumi.get(self, "filter") + + @filter.setter + def filter(self, value: pulumi.Input[str]): + pulumi.set(self, "filter", value) + + @property + @pulumi.getter(name="identityClaim") + def identity_claim(self) -> pulumi.Input[str]: + """ + The JSON Web Token (JWT) claim to extract the authenticating identity to Confluent resources from (see [Registered Claim Names](https://datatracker.ietf.org/doc/html/rfc7519#section-4.1) for more details). This appears in the audit log records, showing, for example, that "identity Z used identity pool X to access topic A". + """ + return pulumi.get(self, "identity_claim") + + @identity_claim.setter + def identity_claim(self, value: pulumi.Input[str]): + pulumi.set(self, "identity_claim", value) + + @property + @pulumi.getter(name="identityProvider") + def identity_provider(self) -> pulumi.Input['IdentityPoolIdentityProviderArgs']: + """ + Identity Provider objects represent external OAuth/OpenID Connect providers within Confluent Cloud. + """ + return pulumi.get(self, "identity_provider") + + @identity_provider.setter + def identity_provider(self, value: pulumi.Input['IdentityPoolIdentityProviderArgs']): + pulumi.set(self, "identity_provider", value) + + +@pulumi.input_type +class _IdentityPoolState: + def __init__(__self__, *, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + filter: Optional[pulumi.Input[str]] = None, + identity_claim: Optional[pulumi.Input[str]] = None, + identity_provider: Optional[pulumi.Input['IdentityPoolIdentityProviderArgs']] = None): + """ + Input properties used for looking up and filtering IdentityPool resources. + :param pulumi.Input[str] description: A description for the Identity Pool. + :param pulumi.Input[str] display_name: A human-readable name for the Identity Pool. + :param pulumi.Input[str] filter: A filter expression in [Supported Common Expression Language (CEL)](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html#supported-common-expression-language-cel-filters) that specifies which identities can authenticate using your identity pool (see [Set identity pool filters](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html#set-identity-pool-filters) for more details). + :param pulumi.Input[str] identity_claim: The JSON Web Token (JWT) claim to extract the authenticating identity to Confluent resources from (see [Registered Claim Names](https://datatracker.ietf.org/doc/html/rfc7519#section-4.1) for more details). This appears in the audit log records, showing, for example, that "identity Z used identity pool X to access topic A". + :param pulumi.Input['IdentityPoolIdentityProviderArgs'] identity_provider: Identity Provider objects represent external OAuth/OpenID Connect providers within Confluent Cloud. + """ + if description is not None: + pulumi.set(__self__, "description", description) + if display_name is not None: + pulumi.set(__self__, "display_name", display_name) + if filter is not None: + pulumi.set(__self__, "filter", filter) + if identity_claim is not None: + pulumi.set(__self__, "identity_claim", identity_claim) + if identity_provider is not None: + pulumi.set(__self__, "identity_provider", identity_provider) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + A description for the Identity Pool. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> Optional[pulumi.Input[str]]: + """ + A human-readable name for the Identity Pool. + """ + return pulumi.get(self, "display_name") + + @display_name.setter + def display_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "display_name", value) + + @property + @pulumi.getter + def filter(self) -> Optional[pulumi.Input[str]]: + """ + A filter expression in [Supported Common Expression Language (CEL)](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html#supported-common-expression-language-cel-filters) that specifies which identities can authenticate using your identity pool (see [Set identity pool filters](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html#set-identity-pool-filters) for more details). + """ + return pulumi.get(self, "filter") + + @filter.setter + def filter(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "filter", value) + + @property + @pulumi.getter(name="identityClaim") + def identity_claim(self) -> Optional[pulumi.Input[str]]: + """ + The JSON Web Token (JWT) claim to extract the authenticating identity to Confluent resources from (see [Registered Claim Names](https://datatracker.ietf.org/doc/html/rfc7519#section-4.1) for more details). This appears in the audit log records, showing, for example, that "identity Z used identity pool X to access topic A". + """ + return pulumi.get(self, "identity_claim") + + @identity_claim.setter + def identity_claim(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "identity_claim", value) + + @property + @pulumi.getter(name="identityProvider") + def identity_provider(self) -> Optional[pulumi.Input['IdentityPoolIdentityProviderArgs']]: + """ + Identity Provider objects represent external OAuth/OpenID Connect providers within Confluent Cloud. + """ + return pulumi.get(self, "identity_provider") + + @identity_provider.setter + def identity_provider(self, value: Optional[pulumi.Input['IdentityPoolIdentityProviderArgs']]): + pulumi.set(self, "identity_provider", value) + + +class IdentityPool(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + filter: Optional[pulumi.Input[str]] = None, + identity_claim: Optional[pulumi.Input[str]] = None, + identity_provider: Optional[pulumi.Input[pulumi.InputType['IdentityPoolIdentityProviderArgs']]] = None, + __props__=None): + """ + [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy) [![Request Access To OAuth API](https://img.shields.io/badge/-Request%20Access%20To%20OAuth%20API-%23bc8540)](mailto:ccloud-api-access+iam-v2-closed-preview@confluent.io?subject=Request%20to%20join%20OAuth%20API%20Closed%20Preview&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Closed%20Preview%20for%20iam/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + > **Note:** `IdentityPool` resource is available in a **Limited Availability** for early adopters. Limited Availability features are introduced to gather customer feedback. This feature should be used only for evaluation and non-production testing purposes or to provide feedback to Confluent, particularly as it becomes more widely available in follow-on editions.\\ + **Limited Availability** features are intended for evaluation use in development and testing environments only, and not for production use. The warranty, SLA, and Support Services provisions of your agreement with Confluent do not apply to Limited Availability features. Limited Availability features are considered to be a Proof of Concept as defined in the Confluent Cloud Terms of Service. Confluent may discontinue providing preview releases of the Limited Availability features at any time in Confluent’s sole discretion. + + `IdentityPool` provides an Identity Pool resource that enables creating, editing, and deleting identity pools on Confluent Cloud. + + ## Example Usage + ### Example Identity Pool to be used with Azure AD + + ```python + import pulumi + import pulumi_confluentcloud as confluentcloud + + azure = confluentcloud.IdentityProvider("azure", + display_name="My OIDC Provider: Azure AD", + description="My description", + issuer="https://login.microsoftonline.com/{tenant_id}/v2.0", + jwks_uri="https://login.microsoftonline.com/common/discovery/v2.0/keys") + example = confluentcloud.IdentityPool("example", + identity_provider=confluentcloud.IdentityPoolIdentityProviderArgs( + id=azure.id, + ), + display_name="My Identity Pool", + description="Prod Access to Kafka clusters to Release Engineering", + identity_claim="claims.sub", + filter="claims.aud==\\"confluent\\" && claims.group!=\\"invalid_group\\"") + ``` + ### Example Identity Pool to be used with Okta + + ```python + import pulumi + import pulumi_confluentcloud as confluentcloud + + okta = confluentcloud.IdentityProvider("okta", + display_name="My OIDC Provider: Okta", + description="My description", + issuer="https://mycompany.okta.com/oauth2/default", + jwks_uri="https://mycompany.okta.com/oauth2/default/v1/keys") + example = confluentcloud.IdentityPool("example", + identity_provider=confluentcloud.IdentityPoolIdentityProviderArgs( + id=okta.id, + ), + display_name="My Identity Pool", + description="Prod Access to Kafka clusters to Release Engineering", + identity_claim="claims.sub", + filter="claims.aud==\\"confluent\\" && claims.group!=\\"invalid_group\\"") + ``` + ## External Documentation + + * [Use identity pools with your OAuth provider](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html). + + ## Import + + You can import an Identity Pool by using Identity Provider ID and Identity Pool ID, in the format `/`. The following example shows how to import an Identity Pool$ export CONFLUENT_CLOUD_API_KEY="" $ export CONFLUENT_CLOUD_API_SECRET="" + + ```sh + $ pulumi import confluentcloud:index/identityPool:IdentityPool example op-abc123/pool-xyz456 + ``` + + !> **Warning:** Do not forget to delete terminal command history afterwards for security purposes. + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] description: A description for the Identity Pool. + :param pulumi.Input[str] display_name: A human-readable name for the Identity Pool. + :param pulumi.Input[str] filter: A filter expression in [Supported Common Expression Language (CEL)](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html#supported-common-expression-language-cel-filters) that specifies which identities can authenticate using your identity pool (see [Set identity pool filters](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html#set-identity-pool-filters) for more details). + :param pulumi.Input[str] identity_claim: The JSON Web Token (JWT) claim to extract the authenticating identity to Confluent resources from (see [Registered Claim Names](https://datatracker.ietf.org/doc/html/rfc7519#section-4.1) for more details). This appears in the audit log records, showing, for example, that "identity Z used identity pool X to access topic A". + :param pulumi.Input[pulumi.InputType['IdentityPoolIdentityProviderArgs']] identity_provider: Identity Provider objects represent external OAuth/OpenID Connect providers within Confluent Cloud. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: IdentityPoolArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy) [![Request Access To OAuth API](https://img.shields.io/badge/-Request%20Access%20To%20OAuth%20API-%23bc8540)](mailto:ccloud-api-access+iam-v2-closed-preview@confluent.io?subject=Request%20to%20join%20OAuth%20API%20Closed%20Preview&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Closed%20Preview%20for%20iam/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + > **Note:** `IdentityPool` resource is available in a **Limited Availability** for early adopters. Limited Availability features are introduced to gather customer feedback. This feature should be used only for evaluation and non-production testing purposes or to provide feedback to Confluent, particularly as it becomes more widely available in follow-on editions.\\ + **Limited Availability** features are intended for evaluation use in development and testing environments only, and not for production use. The warranty, SLA, and Support Services provisions of your agreement with Confluent do not apply to Limited Availability features. Limited Availability features are considered to be a Proof of Concept as defined in the Confluent Cloud Terms of Service. Confluent may discontinue providing preview releases of the Limited Availability features at any time in Confluent’s sole discretion. + + `IdentityPool` provides an Identity Pool resource that enables creating, editing, and deleting identity pools on Confluent Cloud. + + ## Example Usage + ### Example Identity Pool to be used with Azure AD + + ```python + import pulumi + import pulumi_confluentcloud as confluentcloud + + azure = confluentcloud.IdentityProvider("azure", + display_name="My OIDC Provider: Azure AD", + description="My description", + issuer="https://login.microsoftonline.com/{tenant_id}/v2.0", + jwks_uri="https://login.microsoftonline.com/common/discovery/v2.0/keys") + example = confluentcloud.IdentityPool("example", + identity_provider=confluentcloud.IdentityPoolIdentityProviderArgs( + id=azure.id, + ), + display_name="My Identity Pool", + description="Prod Access to Kafka clusters to Release Engineering", + identity_claim="claims.sub", + filter="claims.aud==\\"confluent\\" && claims.group!=\\"invalid_group\\"") + ``` + ### Example Identity Pool to be used with Okta + + ```python + import pulumi + import pulumi_confluentcloud as confluentcloud + + okta = confluentcloud.IdentityProvider("okta", + display_name="My OIDC Provider: Okta", + description="My description", + issuer="https://mycompany.okta.com/oauth2/default", + jwks_uri="https://mycompany.okta.com/oauth2/default/v1/keys") + example = confluentcloud.IdentityPool("example", + identity_provider=confluentcloud.IdentityPoolIdentityProviderArgs( + id=okta.id, + ), + display_name="My Identity Pool", + description="Prod Access to Kafka clusters to Release Engineering", + identity_claim="claims.sub", + filter="claims.aud==\\"confluent\\" && claims.group!=\\"invalid_group\\"") + ``` + ## External Documentation + + * [Use identity pools with your OAuth provider](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html). + + ## Import + + You can import an Identity Pool by using Identity Provider ID and Identity Pool ID, in the format `/`. The following example shows how to import an Identity Pool$ export CONFLUENT_CLOUD_API_KEY="" $ export CONFLUENT_CLOUD_API_SECRET="" + + ```sh + $ pulumi import confluentcloud:index/identityPool:IdentityPool example op-abc123/pool-xyz456 + ``` + + !> **Warning:** Do not forget to delete terminal command history afterwards for security purposes. + + :param str resource_name: The name of the resource. + :param IdentityPoolArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(IdentityPoolArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + filter: Optional[pulumi.Input[str]] = None, + identity_claim: Optional[pulumi.Input[str]] = None, + identity_provider: Optional[pulumi.Input[pulumi.InputType['IdentityPoolIdentityProviderArgs']]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = IdentityPoolArgs.__new__(IdentityPoolArgs) + + if description is None and not opts.urn: + raise TypeError("Missing required property 'description'") + __props__.__dict__["description"] = description + if display_name is None and not opts.urn: + raise TypeError("Missing required property 'display_name'") + __props__.__dict__["display_name"] = display_name + if filter is None and not opts.urn: + raise TypeError("Missing required property 'filter'") + __props__.__dict__["filter"] = filter + if identity_claim is None and not opts.urn: + raise TypeError("Missing required property 'identity_claim'") + __props__.__dict__["identity_claim"] = identity_claim + if identity_provider is None and not opts.urn: + raise TypeError("Missing required property 'identity_provider'") + __props__.__dict__["identity_provider"] = identity_provider + super(IdentityPool, __self__).__init__( + 'confluentcloud:index/identityPool:IdentityPool', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + filter: Optional[pulumi.Input[str]] = None, + identity_claim: Optional[pulumi.Input[str]] = None, + identity_provider: Optional[pulumi.Input[pulumi.InputType['IdentityPoolIdentityProviderArgs']]] = None) -> 'IdentityPool': + """ + Get an existing IdentityPool resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] description: A description for the Identity Pool. + :param pulumi.Input[str] display_name: A human-readable name for the Identity Pool. + :param pulumi.Input[str] filter: A filter expression in [Supported Common Expression Language (CEL)](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html#supported-common-expression-language-cel-filters) that specifies which identities can authenticate using your identity pool (see [Set identity pool filters](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html#set-identity-pool-filters) for more details). + :param pulumi.Input[str] identity_claim: The JSON Web Token (JWT) claim to extract the authenticating identity to Confluent resources from (see [Registered Claim Names](https://datatracker.ietf.org/doc/html/rfc7519#section-4.1) for more details). This appears in the audit log records, showing, for example, that "identity Z used identity pool X to access topic A". + :param pulumi.Input[pulumi.InputType['IdentityPoolIdentityProviderArgs']] identity_provider: Identity Provider objects represent external OAuth/OpenID Connect providers within Confluent Cloud. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _IdentityPoolState.__new__(_IdentityPoolState) + + __props__.__dict__["description"] = description + __props__.__dict__["display_name"] = display_name + __props__.__dict__["filter"] = filter + __props__.__dict__["identity_claim"] = identity_claim + __props__.__dict__["identity_provider"] = identity_provider + return IdentityPool(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def description(self) -> pulumi.Output[str]: + """ + A description for the Identity Pool. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> pulumi.Output[str]: + """ + A human-readable name for the Identity Pool. + """ + return pulumi.get(self, "display_name") + + @property + @pulumi.getter + def filter(self) -> pulumi.Output[str]: + """ + A filter expression in [Supported Common Expression Language (CEL)](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html#supported-common-expression-language-cel-filters) that specifies which identities can authenticate using your identity pool (see [Set identity pool filters](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html#set-identity-pool-filters) for more details). + """ + return pulumi.get(self, "filter") + + @property + @pulumi.getter(name="identityClaim") + def identity_claim(self) -> pulumi.Output[str]: + """ + The JSON Web Token (JWT) claim to extract the authenticating identity to Confluent resources from (see [Registered Claim Names](https://datatracker.ietf.org/doc/html/rfc7519#section-4.1) for more details). This appears in the audit log records, showing, for example, that "identity Z used identity pool X to access topic A". + """ + return pulumi.get(self, "identity_claim") + + @property + @pulumi.getter(name="identityProvider") + def identity_provider(self) -> pulumi.Output['outputs.IdentityPoolIdentityProvider']: + """ + Identity Provider objects represent external OAuth/OpenID Connect providers within Confluent Cloud. + """ + return pulumi.get(self, "identity_provider") + diff --git a/sdk/python/pulumi_confluentcloud/identity_provider.py b/sdk/python/pulumi_confluentcloud/identity_provider.py new file mode 100644 index 00000000..7033623f --- /dev/null +++ b/sdk/python/pulumi_confluentcloud/identity_provider.py @@ -0,0 +1,378 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = ['IdentityProviderArgs', 'IdentityProvider'] + +@pulumi.input_type +class IdentityProviderArgs: + def __init__(__self__, *, + description: pulumi.Input[str], + display_name: pulumi.Input[str], + issuer: pulumi.Input[str], + jwks_uri: pulumi.Input[str]): + """ + The set of arguments for constructing a IdentityProvider resource. + :param pulumi.Input[str] description: A description for the Identity Provider. + :param pulumi.Input[str] display_name: A human-readable name for the Identity Provider. + :param pulumi.Input[str] issuer: A publicly reachable issuer URI for the Identity Provider. The unique issuer URI string represents the entity for issuing tokens. + :param pulumi.Input[str] jwks_uri: A publicly reachable JSON Web Key Set (JWKS) URI for the Identity Provider. A JSON Web Key Set (JWKS) provides a set of keys containing the public keys used to verify any JSON Web Token (JWT) issued by your OAuth 2.0 identity provider. + """ + pulumi.set(__self__, "description", description) + pulumi.set(__self__, "display_name", display_name) + pulumi.set(__self__, "issuer", issuer) + pulumi.set(__self__, "jwks_uri", jwks_uri) + + @property + @pulumi.getter + def description(self) -> pulumi.Input[str]: + """ + A description for the Identity Provider. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: pulumi.Input[str]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> pulumi.Input[str]: + """ + A human-readable name for the Identity Provider. + """ + return pulumi.get(self, "display_name") + + @display_name.setter + def display_name(self, value: pulumi.Input[str]): + pulumi.set(self, "display_name", value) + + @property + @pulumi.getter + def issuer(self) -> pulumi.Input[str]: + """ + A publicly reachable issuer URI for the Identity Provider. The unique issuer URI string represents the entity for issuing tokens. + """ + return pulumi.get(self, "issuer") + + @issuer.setter + def issuer(self, value: pulumi.Input[str]): + pulumi.set(self, "issuer", value) + + @property + @pulumi.getter(name="jwksUri") + def jwks_uri(self) -> pulumi.Input[str]: + """ + A publicly reachable JSON Web Key Set (JWKS) URI for the Identity Provider. A JSON Web Key Set (JWKS) provides a set of keys containing the public keys used to verify any JSON Web Token (JWT) issued by your OAuth 2.0 identity provider. + """ + return pulumi.get(self, "jwks_uri") + + @jwks_uri.setter + def jwks_uri(self, value: pulumi.Input[str]): + pulumi.set(self, "jwks_uri", value) + + +@pulumi.input_type +class _IdentityProviderState: + def __init__(__self__, *, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + issuer: Optional[pulumi.Input[str]] = None, + jwks_uri: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering IdentityProvider resources. + :param pulumi.Input[str] description: A description for the Identity Provider. + :param pulumi.Input[str] display_name: A human-readable name for the Identity Provider. + :param pulumi.Input[str] issuer: A publicly reachable issuer URI for the Identity Provider. The unique issuer URI string represents the entity for issuing tokens. + :param pulumi.Input[str] jwks_uri: A publicly reachable JSON Web Key Set (JWKS) URI for the Identity Provider. A JSON Web Key Set (JWKS) provides a set of keys containing the public keys used to verify any JSON Web Token (JWT) issued by your OAuth 2.0 identity provider. + """ + if description is not None: + pulumi.set(__self__, "description", description) + if display_name is not None: + pulumi.set(__self__, "display_name", display_name) + if issuer is not None: + pulumi.set(__self__, "issuer", issuer) + if jwks_uri is not None: + pulumi.set(__self__, "jwks_uri", jwks_uri) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + A description for the Identity Provider. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> Optional[pulumi.Input[str]]: + """ + A human-readable name for the Identity Provider. + """ + return pulumi.get(self, "display_name") + + @display_name.setter + def display_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "display_name", value) + + @property + @pulumi.getter + def issuer(self) -> Optional[pulumi.Input[str]]: + """ + A publicly reachable issuer URI for the Identity Provider. The unique issuer URI string represents the entity for issuing tokens. + """ + return pulumi.get(self, "issuer") + + @issuer.setter + def issuer(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "issuer", value) + + @property + @pulumi.getter(name="jwksUri") + def jwks_uri(self) -> Optional[pulumi.Input[str]]: + """ + A publicly reachable JSON Web Key Set (JWKS) URI for the Identity Provider. A JSON Web Key Set (JWKS) provides a set of keys containing the public keys used to verify any JSON Web Token (JWT) issued by your OAuth 2.0 identity provider. + """ + return pulumi.get(self, "jwks_uri") + + @jwks_uri.setter + def jwks_uri(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "jwks_uri", value) + + +class IdentityProvider(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + issuer: Optional[pulumi.Input[str]] = None, + jwks_uri: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy) [![Request Access To OAuth API](https://img.shields.io/badge/-Request%20Access%20To%20OAuth%20API-%23bc8540)](mailto:ccloud-api-access+iam-v2-closed-preview@confluent.io?subject=Request%20to%20join%20OAuth%20API%20Closed%20Preview&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Closed%20Preview%20for%20iam/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + > **Note:** `IdentityProvider` resource is available in a **Limited Availability** for early adopters. Limited Availability features are introduced to gather customer feedback. This feature should be used only for evaluation and non-production testing purposes or to provide feedback to Confluent, particularly as it becomes more widely available in follow-on editions.\\ + **Limited Availability** features are intended for evaluation use in development and testing environments only, and not for production use. The warranty, SLA, and Support Services provisions of your agreement with Confluent do not apply to Limited Availability features. Limited Availability features are considered to be a Proof of Concept as defined in the Confluent Cloud Terms of Service. Confluent may discontinue providing preview releases of the Limited Availability features at any time in Confluent’s sole discretion. + + `IdentityProvider` provides an Identity Provider resource that enables creating, editing, and deleting identity providers on Confluent Cloud. + + ## Example Usage + ### Example Identity Provider: Azure AD + + ```python + import pulumi + import pulumi_confluentcloud as confluentcloud + + azure = confluentcloud.IdentityProvider("azure", + description="My description", + display_name="My OIDC Provider: Azure AD", + issuer="https://login.microsoftonline.com/{tenant_id}/v2.0", + jwks_uri="https://login.microsoftonline.com/common/discovery/v2.0/keys") + ``` + ### Example Identity Provider: Okta + + ```python + import pulumi + import pulumi_confluentcloud as confluentcloud + + okta = confluentcloud.IdentityProvider("okta", + description="My description", + display_name="My OIDC Provider: Okta", + issuer="https://mycompany.okta.com/oauth2/default", + jwks_uri="https://mycompany.okta.com/oauth2/default/v1/keys") + ``` + ## External Documentation + + * [Authenticating with OAuth](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/overview.html). + + ## Import + + You can import an Identity Provider by using Identity Provider ID, for example$ export CONFLUENT_CLOUD_API_KEY="" $ export CONFLUENT_CLOUD_API_SECRET="" + + ```sh + $ pulumi import confluentcloud:index/identityProvider:IdentityProvider example op-abc123 + ``` + + !> **Warning:** Do not forget to delete terminal command history afterwards for security purposes. + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] description: A description for the Identity Provider. + :param pulumi.Input[str] display_name: A human-readable name for the Identity Provider. + :param pulumi.Input[str] issuer: A publicly reachable issuer URI for the Identity Provider. The unique issuer URI string represents the entity for issuing tokens. + :param pulumi.Input[str] jwks_uri: A publicly reachable JSON Web Key Set (JWKS) URI for the Identity Provider. A JSON Web Key Set (JWKS) provides a set of keys containing the public keys used to verify any JSON Web Token (JWT) issued by your OAuth 2.0 identity provider. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: IdentityProviderArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy) [![Request Access To OAuth API](https://img.shields.io/badge/-Request%20Access%20To%20OAuth%20API-%23bc8540)](mailto:ccloud-api-access+iam-v2-closed-preview@confluent.io?subject=Request%20to%20join%20OAuth%20API%20Closed%20Preview&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Closed%20Preview%20for%20iam/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + > **Note:** `IdentityProvider` resource is available in a **Limited Availability** for early adopters. Limited Availability features are introduced to gather customer feedback. This feature should be used only for evaluation and non-production testing purposes or to provide feedback to Confluent, particularly as it becomes more widely available in follow-on editions.\\ + **Limited Availability** features are intended for evaluation use in development and testing environments only, and not for production use. The warranty, SLA, and Support Services provisions of your agreement with Confluent do not apply to Limited Availability features. Limited Availability features are considered to be a Proof of Concept as defined in the Confluent Cloud Terms of Service. Confluent may discontinue providing preview releases of the Limited Availability features at any time in Confluent’s sole discretion. + + `IdentityProvider` provides an Identity Provider resource that enables creating, editing, and deleting identity providers on Confluent Cloud. + + ## Example Usage + ### Example Identity Provider: Azure AD + + ```python + import pulumi + import pulumi_confluentcloud as confluentcloud + + azure = confluentcloud.IdentityProvider("azure", + description="My description", + display_name="My OIDC Provider: Azure AD", + issuer="https://login.microsoftonline.com/{tenant_id}/v2.0", + jwks_uri="https://login.microsoftonline.com/common/discovery/v2.0/keys") + ``` + ### Example Identity Provider: Okta + + ```python + import pulumi + import pulumi_confluentcloud as confluentcloud + + okta = confluentcloud.IdentityProvider("okta", + description="My description", + display_name="My OIDC Provider: Okta", + issuer="https://mycompany.okta.com/oauth2/default", + jwks_uri="https://mycompany.okta.com/oauth2/default/v1/keys") + ``` + ## External Documentation + + * [Authenticating with OAuth](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/overview.html). + + ## Import + + You can import an Identity Provider by using Identity Provider ID, for example$ export CONFLUENT_CLOUD_API_KEY="" $ export CONFLUENT_CLOUD_API_SECRET="" + + ```sh + $ pulumi import confluentcloud:index/identityProvider:IdentityProvider example op-abc123 + ``` + + !> **Warning:** Do not forget to delete terminal command history afterwards for security purposes. + + :param str resource_name: The name of the resource. + :param IdentityProviderArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(IdentityProviderArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + issuer: Optional[pulumi.Input[str]] = None, + jwks_uri: Optional[pulumi.Input[str]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = IdentityProviderArgs.__new__(IdentityProviderArgs) + + if description is None and not opts.urn: + raise TypeError("Missing required property 'description'") + __props__.__dict__["description"] = description + if display_name is None and not opts.urn: + raise TypeError("Missing required property 'display_name'") + __props__.__dict__["display_name"] = display_name + if issuer is None and not opts.urn: + raise TypeError("Missing required property 'issuer'") + __props__.__dict__["issuer"] = issuer + if jwks_uri is None and not opts.urn: + raise TypeError("Missing required property 'jwks_uri'") + __props__.__dict__["jwks_uri"] = jwks_uri + super(IdentityProvider, __self__).__init__( + 'confluentcloud:index/identityProvider:IdentityProvider', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + issuer: Optional[pulumi.Input[str]] = None, + jwks_uri: Optional[pulumi.Input[str]] = None) -> 'IdentityProvider': + """ + Get an existing IdentityProvider resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] description: A description for the Identity Provider. + :param pulumi.Input[str] display_name: A human-readable name for the Identity Provider. + :param pulumi.Input[str] issuer: A publicly reachable issuer URI for the Identity Provider. The unique issuer URI string represents the entity for issuing tokens. + :param pulumi.Input[str] jwks_uri: A publicly reachable JSON Web Key Set (JWKS) URI for the Identity Provider. A JSON Web Key Set (JWKS) provides a set of keys containing the public keys used to verify any JSON Web Token (JWT) issued by your OAuth 2.0 identity provider. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _IdentityProviderState.__new__(_IdentityProviderState) + + __props__.__dict__["description"] = description + __props__.__dict__["display_name"] = display_name + __props__.__dict__["issuer"] = issuer + __props__.__dict__["jwks_uri"] = jwks_uri + return IdentityProvider(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def description(self) -> pulumi.Output[str]: + """ + A description for the Identity Provider. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> pulumi.Output[str]: + """ + A human-readable name for the Identity Provider. + """ + return pulumi.get(self, "display_name") + + @property + @pulumi.getter + def issuer(self) -> pulumi.Output[str]: + """ + A publicly reachable issuer URI for the Identity Provider. The unique issuer URI string represents the entity for issuing tokens. + """ + return pulumi.get(self, "issuer") + + @property + @pulumi.getter(name="jwksUri") + def jwks_uri(self) -> pulumi.Output[str]: + """ + A publicly reachable JSON Web Key Set (JWKS) URI for the Identity Provider. A JSON Web Key Set (JWKS) provides a set of keys containing the public keys used to verify any JSON Web Token (JWT) issued by your OAuth 2.0 identity provider. + """ + return pulumi.get(self, "jwks_uri") + diff --git a/sdk/python/pulumi_confluentcloud/ksql_cluster.py b/sdk/python/pulumi_confluentcloud/ksql_cluster.py new file mode 100644 index 00000000..af2b8191 --- /dev/null +++ b/sdk/python/pulumi_confluentcloud/ksql_cluster.py @@ -0,0 +1,521 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from . import _utilities +from . import outputs +from ._inputs import * + +__all__ = ['KsqlClusterArgs', 'KsqlCluster'] + +@pulumi.input_type +class KsqlClusterArgs: + def __init__(__self__, *, + credential_identity: pulumi.Input['KsqlClusterCredentialIdentityArgs'], + csu: pulumi.Input[int], + display_name: pulumi.Input[str], + environment: pulumi.Input['KsqlClusterEnvironmentArgs'], + kafka_cluster: pulumi.Input['KsqlClusterKafkaClusterArgs'], + use_detailed_processing_log: Optional[pulumi.Input[bool]] = None): + """ + The set of arguments for constructing a KsqlCluster resource. + :param pulumi.Input[int] csu: The number of Confluent Streaming Units (CSUs) for the ksqlDB cluster. + :param pulumi.Input[str] display_name: The name of the ksqlDB cluster. + :param pulumi.Input['KsqlClusterEnvironmentArgs'] environment: Environment objects represent an isolated namespace for your Confluent resources for organizational purposes. + :param pulumi.Input[bool] use_detailed_processing_log: Controls whether the row data should be included in the processing log topic. Set it to `false` if you don't want to emit sensitive information to the processing log. Defaults to `true`. + """ + pulumi.set(__self__, "credential_identity", credential_identity) + pulumi.set(__self__, "csu", csu) + pulumi.set(__self__, "display_name", display_name) + pulumi.set(__self__, "environment", environment) + pulumi.set(__self__, "kafka_cluster", kafka_cluster) + if use_detailed_processing_log is not None: + pulumi.set(__self__, "use_detailed_processing_log", use_detailed_processing_log) + + @property + @pulumi.getter(name="credentialIdentity") + def credential_identity(self) -> pulumi.Input['KsqlClusterCredentialIdentityArgs']: + return pulumi.get(self, "credential_identity") + + @credential_identity.setter + def credential_identity(self, value: pulumi.Input['KsqlClusterCredentialIdentityArgs']): + pulumi.set(self, "credential_identity", value) + + @property + @pulumi.getter + def csu(self) -> pulumi.Input[int]: + """ + The number of Confluent Streaming Units (CSUs) for the ksqlDB cluster. + """ + return pulumi.get(self, "csu") + + @csu.setter + def csu(self, value: pulumi.Input[int]): + pulumi.set(self, "csu", value) + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> pulumi.Input[str]: + """ + The name of the ksqlDB cluster. + """ + return pulumi.get(self, "display_name") + + @display_name.setter + def display_name(self, value: pulumi.Input[str]): + pulumi.set(self, "display_name", value) + + @property + @pulumi.getter + def environment(self) -> pulumi.Input['KsqlClusterEnvironmentArgs']: + """ + Environment objects represent an isolated namespace for your Confluent resources for organizational purposes. + """ + return pulumi.get(self, "environment") + + @environment.setter + def environment(self, value: pulumi.Input['KsqlClusterEnvironmentArgs']): + pulumi.set(self, "environment", value) + + @property + @pulumi.getter(name="kafkaCluster") + def kafka_cluster(self) -> pulumi.Input['KsqlClusterKafkaClusterArgs']: + return pulumi.get(self, "kafka_cluster") + + @kafka_cluster.setter + def kafka_cluster(self, value: pulumi.Input['KsqlClusterKafkaClusterArgs']): + pulumi.set(self, "kafka_cluster", value) + + @property + @pulumi.getter(name="useDetailedProcessingLog") + def use_detailed_processing_log(self) -> Optional[pulumi.Input[bool]]: + """ + Controls whether the row data should be included in the processing log topic. Set it to `false` if you don't want to emit sensitive information to the processing log. Defaults to `true`. + """ + return pulumi.get(self, "use_detailed_processing_log") + + @use_detailed_processing_log.setter + def use_detailed_processing_log(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "use_detailed_processing_log", value) + + +@pulumi.input_type +class _KsqlClusterState: + def __init__(__self__, *, + api_version: Optional[pulumi.Input[str]] = None, + credential_identity: Optional[pulumi.Input['KsqlClusterCredentialIdentityArgs']] = None, + csu: Optional[pulumi.Input[int]] = None, + display_name: Optional[pulumi.Input[str]] = None, + environment: Optional[pulumi.Input['KsqlClusterEnvironmentArgs']] = None, + http_endpoint: Optional[pulumi.Input[str]] = None, + kafka_cluster: Optional[pulumi.Input['KsqlClusterKafkaClusterArgs']] = None, + kind: Optional[pulumi.Input[str]] = None, + storage: Optional[pulumi.Input[int]] = None, + topic_prefix: Optional[pulumi.Input[str]] = None, + use_detailed_processing_log: Optional[pulumi.Input[bool]] = None): + """ + Input properties used for looking up and filtering KsqlCluster resources. + :param pulumi.Input[str] api_version: (Required String) An API Version of the schema version of the ksqlDB cluster, for example, `ksqldbcm/v2`. + :param pulumi.Input[int] csu: The number of Confluent Streaming Units (CSUs) for the ksqlDB cluster. + :param pulumi.Input[str] display_name: The name of the ksqlDB cluster. + :param pulumi.Input['KsqlClusterEnvironmentArgs'] environment: Environment objects represent an isolated namespace for your Confluent resources for organizational purposes. + :param pulumi.Input[str] http_endpoint: (Required String) The API endpoint of the ksqlDB cluster, for example, `https://pksqlc-00000.us-central1.gcp.glb.confluent.cloud`. + :param pulumi.Input[str] kind: (Required String) A kind of the ksqlDB cluster, for example, `Cluster`. + :param pulumi.Input[int] storage: (Required Integer) The amount of storage (in GB) provisioned to the ksqlDB cluster. + :param pulumi.Input[str] topic_prefix: (Required String) Topic name prefix used by this ksqlDB cluster. Used to assign ACLs for this ksqlDB cluster to use, for example, `pksqlc-00000`. + :param pulumi.Input[bool] use_detailed_processing_log: Controls whether the row data should be included in the processing log topic. Set it to `false` if you don't want to emit sensitive information to the processing log. Defaults to `true`. + """ + if api_version is not None: + pulumi.set(__self__, "api_version", api_version) + if credential_identity is not None: + pulumi.set(__self__, "credential_identity", credential_identity) + if csu is not None: + pulumi.set(__self__, "csu", csu) + if display_name is not None: + pulumi.set(__self__, "display_name", display_name) + if environment is not None: + pulumi.set(__self__, "environment", environment) + if http_endpoint is not None: + pulumi.set(__self__, "http_endpoint", http_endpoint) + if kafka_cluster is not None: + pulumi.set(__self__, "kafka_cluster", kafka_cluster) + if kind is not None: + pulumi.set(__self__, "kind", kind) + if storage is not None: + pulumi.set(__self__, "storage", storage) + if topic_prefix is not None: + pulumi.set(__self__, "topic_prefix", topic_prefix) + if use_detailed_processing_log is not None: + pulumi.set(__self__, "use_detailed_processing_log", use_detailed_processing_log) + + @property + @pulumi.getter(name="apiVersion") + def api_version(self) -> Optional[pulumi.Input[str]]: + """ + (Required String) An API Version of the schema version of the ksqlDB cluster, for example, `ksqldbcm/v2`. + """ + return pulumi.get(self, "api_version") + + @api_version.setter + def api_version(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "api_version", value) + + @property + @pulumi.getter(name="credentialIdentity") + def credential_identity(self) -> Optional[pulumi.Input['KsqlClusterCredentialIdentityArgs']]: + return pulumi.get(self, "credential_identity") + + @credential_identity.setter + def credential_identity(self, value: Optional[pulumi.Input['KsqlClusterCredentialIdentityArgs']]): + pulumi.set(self, "credential_identity", value) + + @property + @pulumi.getter + def csu(self) -> Optional[pulumi.Input[int]]: + """ + The number of Confluent Streaming Units (CSUs) for the ksqlDB cluster. + """ + return pulumi.get(self, "csu") + + @csu.setter + def csu(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "csu", value) + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the ksqlDB cluster. + """ + return pulumi.get(self, "display_name") + + @display_name.setter + def display_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "display_name", value) + + @property + @pulumi.getter + def environment(self) -> Optional[pulumi.Input['KsqlClusterEnvironmentArgs']]: + """ + Environment objects represent an isolated namespace for your Confluent resources for organizational purposes. + """ + return pulumi.get(self, "environment") + + @environment.setter + def environment(self, value: Optional[pulumi.Input['KsqlClusterEnvironmentArgs']]): + pulumi.set(self, "environment", value) + + @property + @pulumi.getter(name="httpEndpoint") + def http_endpoint(self) -> Optional[pulumi.Input[str]]: + """ + (Required String) The API endpoint of the ksqlDB cluster, for example, `https://pksqlc-00000.us-central1.gcp.glb.confluent.cloud`. + """ + return pulumi.get(self, "http_endpoint") + + @http_endpoint.setter + def http_endpoint(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "http_endpoint", value) + + @property + @pulumi.getter(name="kafkaCluster") + def kafka_cluster(self) -> Optional[pulumi.Input['KsqlClusterKafkaClusterArgs']]: + return pulumi.get(self, "kafka_cluster") + + @kafka_cluster.setter + def kafka_cluster(self, value: Optional[pulumi.Input['KsqlClusterKafkaClusterArgs']]): + pulumi.set(self, "kafka_cluster", value) + + @property + @pulumi.getter + def kind(self) -> Optional[pulumi.Input[str]]: + """ + (Required String) A kind of the ksqlDB cluster, for example, `Cluster`. + """ + return pulumi.get(self, "kind") + + @kind.setter + def kind(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "kind", value) + + @property + @pulumi.getter + def storage(self) -> Optional[pulumi.Input[int]]: + """ + (Required Integer) The amount of storage (in GB) provisioned to the ksqlDB cluster. + """ + return pulumi.get(self, "storage") + + @storage.setter + def storage(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "storage", value) + + @property + @pulumi.getter(name="topicPrefix") + def topic_prefix(self) -> Optional[pulumi.Input[str]]: + """ + (Required String) Topic name prefix used by this ksqlDB cluster. Used to assign ACLs for this ksqlDB cluster to use, for example, `pksqlc-00000`. + """ + return pulumi.get(self, "topic_prefix") + + @topic_prefix.setter + def topic_prefix(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "topic_prefix", value) + + @property + @pulumi.getter(name="useDetailedProcessingLog") + def use_detailed_processing_log(self) -> Optional[pulumi.Input[bool]]: + """ + Controls whether the row data should be included in the processing log topic. Set it to `false` if you don't want to emit sensitive information to the processing log. Defaults to `true`. + """ + return pulumi.get(self, "use_detailed_processing_log") + + @use_detailed_processing_log.setter + def use_detailed_processing_log(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "use_detailed_processing_log", value) + + +class KsqlCluster(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + credential_identity: Optional[pulumi.Input[pulumi.InputType['KsqlClusterCredentialIdentityArgs']]] = None, + csu: Optional[pulumi.Input[int]] = None, + display_name: Optional[pulumi.Input[str]] = None, + environment: Optional[pulumi.Input[pulumi.InputType['KsqlClusterEnvironmentArgs']]] = None, + kafka_cluster: Optional[pulumi.Input[pulumi.InputType['KsqlClusterKafkaClusterArgs']]] = None, + use_detailed_processing_log: Optional[pulumi.Input[bool]] = None, + __props__=None): + """ + ## Import + + You can import a ksqlDB cluster by using Environment ID and ksqlDB cluster ID, in the format `/`, for example$ export CONFLUENT_CLOUD_API_KEY="" $ export CONFLUENT_CLOUD_API_SECRET="" + + ```sh + $ pulumi import confluentcloud:index/ksqlCluster:KsqlCluster example env-abc123/lksqlc-abc123 + ``` + + !> **Warning:** + + Do not forget to delete the terminal's command history afterward for security purposes. + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[int] csu: The number of Confluent Streaming Units (CSUs) for the ksqlDB cluster. + :param pulumi.Input[str] display_name: The name of the ksqlDB cluster. + :param pulumi.Input[pulumi.InputType['KsqlClusterEnvironmentArgs']] environment: Environment objects represent an isolated namespace for your Confluent resources for organizational purposes. + :param pulumi.Input[bool] use_detailed_processing_log: Controls whether the row data should be included in the processing log topic. Set it to `false` if you don't want to emit sensitive information to the processing log. Defaults to `true`. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: KsqlClusterArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + ## Import + + You can import a ksqlDB cluster by using Environment ID and ksqlDB cluster ID, in the format `/`, for example$ export CONFLUENT_CLOUD_API_KEY="" $ export CONFLUENT_CLOUD_API_SECRET="" + + ```sh + $ pulumi import confluentcloud:index/ksqlCluster:KsqlCluster example env-abc123/lksqlc-abc123 + ``` + + !> **Warning:** + + Do not forget to delete the terminal's command history afterward for security purposes. + + :param str resource_name: The name of the resource. + :param KsqlClusterArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(KsqlClusterArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + credential_identity: Optional[pulumi.Input[pulumi.InputType['KsqlClusterCredentialIdentityArgs']]] = None, + csu: Optional[pulumi.Input[int]] = None, + display_name: Optional[pulumi.Input[str]] = None, + environment: Optional[pulumi.Input[pulumi.InputType['KsqlClusterEnvironmentArgs']]] = None, + kafka_cluster: Optional[pulumi.Input[pulumi.InputType['KsqlClusterKafkaClusterArgs']]] = None, + use_detailed_processing_log: Optional[pulumi.Input[bool]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = KsqlClusterArgs.__new__(KsqlClusterArgs) + + if credential_identity is None and not opts.urn: + raise TypeError("Missing required property 'credential_identity'") + __props__.__dict__["credential_identity"] = credential_identity + if csu is None and not opts.urn: + raise TypeError("Missing required property 'csu'") + __props__.__dict__["csu"] = csu + if display_name is None and not opts.urn: + raise TypeError("Missing required property 'display_name'") + __props__.__dict__["display_name"] = display_name + if environment is None and not opts.urn: + raise TypeError("Missing required property 'environment'") + __props__.__dict__["environment"] = environment + if kafka_cluster is None and not opts.urn: + raise TypeError("Missing required property 'kafka_cluster'") + __props__.__dict__["kafka_cluster"] = kafka_cluster + __props__.__dict__["use_detailed_processing_log"] = use_detailed_processing_log + __props__.__dict__["api_version"] = None + __props__.__dict__["http_endpoint"] = None + __props__.__dict__["kind"] = None + __props__.__dict__["storage"] = None + __props__.__dict__["topic_prefix"] = None + super(KsqlCluster, __self__).__init__( + 'confluentcloud:index/ksqlCluster:KsqlCluster', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + api_version: Optional[pulumi.Input[str]] = None, + credential_identity: Optional[pulumi.Input[pulumi.InputType['KsqlClusterCredentialIdentityArgs']]] = None, + csu: Optional[pulumi.Input[int]] = None, + display_name: Optional[pulumi.Input[str]] = None, + environment: Optional[pulumi.Input[pulumi.InputType['KsqlClusterEnvironmentArgs']]] = None, + http_endpoint: Optional[pulumi.Input[str]] = None, + kafka_cluster: Optional[pulumi.Input[pulumi.InputType['KsqlClusterKafkaClusterArgs']]] = None, + kind: Optional[pulumi.Input[str]] = None, + storage: Optional[pulumi.Input[int]] = None, + topic_prefix: Optional[pulumi.Input[str]] = None, + use_detailed_processing_log: Optional[pulumi.Input[bool]] = None) -> 'KsqlCluster': + """ + Get an existing KsqlCluster resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] api_version: (Required String) An API Version of the schema version of the ksqlDB cluster, for example, `ksqldbcm/v2`. + :param pulumi.Input[int] csu: The number of Confluent Streaming Units (CSUs) for the ksqlDB cluster. + :param pulumi.Input[str] display_name: The name of the ksqlDB cluster. + :param pulumi.Input[pulumi.InputType['KsqlClusterEnvironmentArgs']] environment: Environment objects represent an isolated namespace for your Confluent resources for organizational purposes. + :param pulumi.Input[str] http_endpoint: (Required String) The API endpoint of the ksqlDB cluster, for example, `https://pksqlc-00000.us-central1.gcp.glb.confluent.cloud`. + :param pulumi.Input[str] kind: (Required String) A kind of the ksqlDB cluster, for example, `Cluster`. + :param pulumi.Input[int] storage: (Required Integer) The amount of storage (in GB) provisioned to the ksqlDB cluster. + :param pulumi.Input[str] topic_prefix: (Required String) Topic name prefix used by this ksqlDB cluster. Used to assign ACLs for this ksqlDB cluster to use, for example, `pksqlc-00000`. + :param pulumi.Input[bool] use_detailed_processing_log: Controls whether the row data should be included in the processing log topic. Set it to `false` if you don't want to emit sensitive information to the processing log. Defaults to `true`. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _KsqlClusterState.__new__(_KsqlClusterState) + + __props__.__dict__["api_version"] = api_version + __props__.__dict__["credential_identity"] = credential_identity + __props__.__dict__["csu"] = csu + __props__.__dict__["display_name"] = display_name + __props__.__dict__["environment"] = environment + __props__.__dict__["http_endpoint"] = http_endpoint + __props__.__dict__["kafka_cluster"] = kafka_cluster + __props__.__dict__["kind"] = kind + __props__.__dict__["storage"] = storage + __props__.__dict__["topic_prefix"] = topic_prefix + __props__.__dict__["use_detailed_processing_log"] = use_detailed_processing_log + return KsqlCluster(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="apiVersion") + def api_version(self) -> pulumi.Output[str]: + """ + (Required String) An API Version of the schema version of the ksqlDB cluster, for example, `ksqldbcm/v2`. + """ + return pulumi.get(self, "api_version") + + @property + @pulumi.getter(name="credentialIdentity") + def credential_identity(self) -> pulumi.Output['outputs.KsqlClusterCredentialIdentity']: + return pulumi.get(self, "credential_identity") + + @property + @pulumi.getter + def csu(self) -> pulumi.Output[int]: + """ + The number of Confluent Streaming Units (CSUs) for the ksqlDB cluster. + """ + return pulumi.get(self, "csu") + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> pulumi.Output[str]: + """ + The name of the ksqlDB cluster. + """ + return pulumi.get(self, "display_name") + + @property + @pulumi.getter + def environment(self) -> pulumi.Output['outputs.KsqlClusterEnvironment']: + """ + Environment objects represent an isolated namespace for your Confluent resources for organizational purposes. + """ + return pulumi.get(self, "environment") + + @property + @pulumi.getter(name="httpEndpoint") + def http_endpoint(self) -> pulumi.Output[str]: + """ + (Required String) The API endpoint of the ksqlDB cluster, for example, `https://pksqlc-00000.us-central1.gcp.glb.confluent.cloud`. + """ + return pulumi.get(self, "http_endpoint") + + @property + @pulumi.getter(name="kafkaCluster") + def kafka_cluster(self) -> pulumi.Output['outputs.KsqlClusterKafkaCluster']: + return pulumi.get(self, "kafka_cluster") + + @property + @pulumi.getter + def kind(self) -> pulumi.Output[str]: + """ + (Required String) A kind of the ksqlDB cluster, for example, `Cluster`. + """ + return pulumi.get(self, "kind") + + @property + @pulumi.getter + def storage(self) -> pulumi.Output[int]: + """ + (Required Integer) The amount of storage (in GB) provisioned to the ksqlDB cluster. + """ + return pulumi.get(self, "storage") + + @property + @pulumi.getter(name="topicPrefix") + def topic_prefix(self) -> pulumi.Output[str]: + """ + (Required String) Topic name prefix used by this ksqlDB cluster. Used to assign ACLs for this ksqlDB cluster to use, for example, `pksqlc-00000`. + """ + return pulumi.get(self, "topic_prefix") + + @property + @pulumi.getter(name="useDetailedProcessingLog") + def use_detailed_processing_log(self) -> pulumi.Output[Optional[bool]]: + """ + Controls whether the row data should be included in the processing log topic. Set it to `false` if you don't want to emit sensitive information to the processing log. Defaults to `true`. + """ + return pulumi.get(self, "use_detailed_processing_log") + diff --git a/sdk/python/pulumi_confluentcloud/outputs.py b/sdk/python/pulumi_confluentcloud/outputs.py index a6c082e9..8630221d 100644 --- a/sdk/python/pulumi_confluentcloud/outputs.py +++ b/sdk/python/pulumi_confluentcloud/outputs.py @@ -16,6 +16,7 @@ 'ApiKeyOwner', 'ConnectorEnvironment', 'ConnectorKafkaCluster', + 'IdentityPoolIdentityProvider', 'KafkaAclCredentials', 'KafkaAclKafkaCluster', 'KafkaClusterBasic', @@ -25,6 +26,9 @@ 'KafkaClusterStandard', 'KafkaTopicCredentials', 'KafkaTopicKafkaCluster', + 'KsqlClusterCredentialIdentity', + 'KsqlClusterEnvironment', + 'KsqlClusterKafkaCluster', 'NetworkAw', 'NetworkAzure', 'NetworkEnvironment', @@ -37,7 +41,9 @@ 'PrivateLinkAccessAws', 'PrivateLinkAccessAzure', 'PrivateLinkAccessEnvironment', + 'PrivateLinkAccessGcp', 'PrivateLinkAccessNetwork', + 'GetIdentityPoolIdentityProviderResult', 'GetKafkaClusterBasicResult', 'GetKafkaClusterDedicatedResult', 'GetKafkaClusterEnvironmentResult', @@ -45,6 +51,9 @@ 'GetKafkaClusterStandardResult', 'GetKafkaTopicCredentialsResult', 'GetKafkaTopicKafkaClusterResult', + 'GetKsqlClusterCredentialIdentityResult', + 'GetKsqlClusterEnvironmentResult', + 'GetKsqlClusterKafkaClusterResult', 'GetNetworkAwResult', 'GetNetworkAzureResult', 'GetNetworkEnvironmentResult', @@ -57,6 +66,7 @@ 'GetPrivateLinkAccessAwResult', 'GetPrivateLinkAccessAzureResult', 'GetPrivateLinkAccessEnvironmentResult', + 'GetPrivateLinkAccessGcpResult', 'GetPrivateLinkAccessNetworkResult', ] @@ -235,6 +245,24 @@ def id(self) -> str: return pulumi.get(self, "id") +@pulumi.output_type +class IdentityPoolIdentityProvider(dict): + def __init__(__self__, *, + id: str): + """ + :param str id: The ID of the Identity Provider associated with the Identity Pool, for example, `op-abc123`. + """ + pulumi.set(__self__, "id", id) + + @property + @pulumi.getter + def id(self) -> str: + """ + The ID of the Identity Provider associated with the Identity Pool, for example, `op-abc123`. + """ + return pulumi.get(self, "id") + + @pulumi.output_type class KafkaAclCredentials(dict): def __init__(__self__, *, @@ -424,6 +452,60 @@ def id(self) -> str: return pulumi.get(self, "id") +@pulumi.output_type +class KsqlClusterCredentialIdentity(dict): + def __init__(__self__, *, + id: str): + """ + :param str id: The ID of the associated service or user account, for example, `sa-abc123`. + """ + pulumi.set(__self__, "id", id) + + @property + @pulumi.getter + def id(self) -> str: + """ + The ID of the associated service or user account, for example, `sa-abc123`. + """ + return pulumi.get(self, "id") + + +@pulumi.output_type +class KsqlClusterEnvironment(dict): + def __init__(__self__, *, + id: str): + """ + :param str id: The ID of the associated service or user account, for example, `sa-abc123`. + """ + pulumi.set(__self__, "id", id) + + @property + @pulumi.getter + def id(self) -> str: + """ + The ID of the associated service or user account, for example, `sa-abc123`. + """ + return pulumi.get(self, "id") + + +@pulumi.output_type +class KsqlClusterKafkaCluster(dict): + def __init__(__self__, *, + id: str): + """ + :param str id: The ID of the associated service or user account, for example, `sa-abc123`. + """ + pulumi.set(__self__, "id", id) + + @property + @pulumi.getter + def id(self) -> str: + """ + The ID of the associated service or user account, for example, `sa-abc123`. + """ + return pulumi.get(self, "id") + + @pulumi.output_type class NetworkAw(dict): @staticmethod @@ -531,7 +613,9 @@ class NetworkGcp(dict): @staticmethod def __key_warning(key: str): suggest = None - if key == "vpcNetwork": + if key == "privateServiceConnectServiceAttachments": + suggest = "private_service_connect_service_attachments" + elif key == "vpcNetwork": suggest = "vpc_network" if suggest: @@ -546,22 +630,34 @@ def get(self, key: str, default = None) -> Any: return super().get(key, default) def __init__(__self__, *, + private_service_connect_service_attachments: Optional[Mapping[str, str]] = None, project: Optional[str] = None, vpc_network: Optional[str] = None): """ - :param str project: (Required String) The GCP project. + :param Mapping[str, str] private_service_connect_service_attachments: (Optional Map) The mapping of zones to Private Service Connect service attachments if available. Keys are zones and values are [GCP Private Service Connect service attachment](https://cloud.google.com/vpc/docs/configure-private-service-connect-producer#api_7). + :param str project: (Required String) The GCP project ID. :param str vpc_network: (Required String) The GCP VPC network name. """ + if private_service_connect_service_attachments is not None: + pulumi.set(__self__, "private_service_connect_service_attachments", private_service_connect_service_attachments) if project is not None: pulumi.set(__self__, "project", project) if vpc_network is not None: pulumi.set(__self__, "vpc_network", vpc_network) + @property + @pulumi.getter(name="privateServiceConnectServiceAttachments") + def private_service_connect_service_attachments(self) -> Optional[Mapping[str, str]]: + """ + (Optional Map) The mapping of zones to Private Service Connect service attachments if available. Keys are zones and values are [GCP Private Service Connect service attachment](https://cloud.google.com/vpc/docs/configure-private-service-connect-producer#api_7). + """ + return pulumi.get(self, "private_service_connect_service_attachments") + @property @pulumi.getter def project(self) -> Optional[str]: """ - (Required String) The GCP project. + (Required String) The GCP project ID. """ return pulumi.get(self, "project") @@ -849,6 +945,24 @@ def id(self) -> str: return pulumi.get(self, "id") +@pulumi.output_type +class PrivateLinkAccessGcp(dict): + def __init__(__self__, *, + project: str): + """ + :param str project: The GCP project ID to allow for Private Service Connect access. You can find your Google Cloud Project ID under **Project ID** section of your [Google Cloud Console dashboard](https://console.cloud.google.com/home/dashboard). + """ + pulumi.set(__self__, "project", project) + + @property + @pulumi.getter + def project(self) -> str: + """ + The GCP project ID to allow for Private Service Connect access. You can find your Google Cloud Project ID under **Project ID** section of your [Google Cloud Console dashboard](https://console.cloud.google.com/home/dashboard). + """ + return pulumi.get(self, "project") + + @pulumi.output_type class PrivateLinkAccessNetwork(dict): def __init__(__self__, *, @@ -867,6 +981,24 @@ def id(self) -> str: return pulumi.get(self, "id") +@pulumi.output_type +class GetIdentityPoolIdentityProviderResult(dict): + def __init__(__self__, *, + id: str): + """ + :param str id: The ID of the Identity Provider associated with the Identity Pool, for example, `op-abc123`. + """ + pulumi.set(__self__, "id", id) + + @property + @pulumi.getter + def id(self) -> str: + """ + The ID of the Identity Provider associated with the Identity Pool, for example, `op-abc123`. + """ + return pulumi.get(self, "id") + + @pulumi.output_type class GetKafkaClusterBasicResult(dict): def __init__(__self__): @@ -991,6 +1123,60 @@ def id(self) -> str: return pulumi.get(self, "id") +@pulumi.output_type +class GetKsqlClusterCredentialIdentityResult(dict): + def __init__(__self__, *, + id: str): + """ + :param str id: The ID of the Environment that the ksqlDB cluster belongs to, for example, `env-xyz456`. + """ + pulumi.set(__self__, "id", id) + + @property + @pulumi.getter + def id(self) -> str: + """ + The ID of the Environment that the ksqlDB cluster belongs to, for example, `env-xyz456`. + """ + return pulumi.get(self, "id") + + +@pulumi.output_type +class GetKsqlClusterEnvironmentResult(dict): + def __init__(__self__, *, + id: str): + """ + :param str id: The ID of the Environment that the ksqlDB cluster belongs to, for example, `env-xyz456`. + """ + pulumi.set(__self__, "id", id) + + @property + @pulumi.getter + def id(self) -> str: + """ + The ID of the Environment that the ksqlDB cluster belongs to, for example, `env-xyz456`. + """ + return pulumi.get(self, "id") + + +@pulumi.output_type +class GetKsqlClusterKafkaClusterResult(dict): + def __init__(__self__, *, + id: str): + """ + :param str id: The ID of the Environment that the ksqlDB cluster belongs to, for example, `env-xyz456`. + """ + pulumi.set(__self__, "id", id) + + @property + @pulumi.getter + def id(self) -> str: + """ + The ID of the Environment that the ksqlDB cluster belongs to, for example, `env-xyz456`. + """ + return pulumi.get(self, "id") + + @pulumi.output_type class GetNetworkAwResult(dict): def __init__(__self__, *, @@ -1059,20 +1245,31 @@ def id(self) -> str: @pulumi.output_type class GetNetworkGcpResult(dict): def __init__(__self__, *, + private_service_connect_service_attachments: Mapping[str, str], project: str, vpc_network: str): """ - :param str project: (Required String) The GCP project. + :param Mapping[str, str] private_service_connect_service_attachments: (Optional Map) The mapping of zones to Private Service Connect service attachments if available. Keys are zones and values are [GCP Private Service Connect service attachment](https://cloud.google.com/vpc/docs/configure-private-service-connect-producer#api_7). + :param str project: (Required String) The GCP project ID. :param str vpc_network: (Required String) The GCP VPC network name. """ + pulumi.set(__self__, "private_service_connect_service_attachments", private_service_connect_service_attachments) pulumi.set(__self__, "project", project) pulumi.set(__self__, "vpc_network", vpc_network) + @property + @pulumi.getter(name="privateServiceConnectServiceAttachments") + def private_service_connect_service_attachments(self) -> Mapping[str, str]: + """ + (Optional Map) The mapping of zones to Private Service Connect service attachments if available. Keys are zones and values are [GCP Private Service Connect service attachment](https://cloud.google.com/vpc/docs/configure-private-service-connect-producer#api_7). + """ + return pulumi.get(self, "private_service_connect_service_attachments") + @property @pulumi.getter def project(self) -> str: """ - (Required String) The GCP project. + (Required String) The GCP project ID. """ return pulumi.get(self, "project") @@ -1306,6 +1503,24 @@ def id(self) -> str: return pulumi.get(self, "id") +@pulumi.output_type +class GetPrivateLinkAccessGcpResult(dict): + def __init__(__self__, *, + project: str): + """ + :param str project: (Required String) The GCP project ID to allow for Private Service Connect access. You can find your Google Cloud Project ID under **Project ID** section of your [Google Cloud Console dashboard](https://console.cloud.google.com/home/dashboard). + """ + pulumi.set(__self__, "project", project) + + @property + @pulumi.getter + def project(self) -> str: + """ + (Required String) The GCP project ID to allow for Private Service Connect access. You can find your Google Cloud Project ID under **Project ID** section of your [Google Cloud Console dashboard](https://console.cloud.google.com/home/dashboard). + """ + return pulumi.get(self, "project") + + @pulumi.output_type class GetPrivateLinkAccessNetworkResult(dict): def __init__(__self__, *, diff --git a/sdk/python/pulumi_confluentcloud/private_link_access.py b/sdk/python/pulumi_confluentcloud/private_link_access.py index 151032b3..164c5faf 100644 --- a/sdk/python/pulumi_confluentcloud/private_link_access.py +++ b/sdk/python/pulumi_confluentcloud/private_link_access.py @@ -20,7 +20,8 @@ def __init__(__self__, *, network: pulumi.Input['PrivateLinkAccessNetworkArgs'], aws: Optional[pulumi.Input['PrivateLinkAccessAwsArgs']] = None, azure: Optional[pulumi.Input['PrivateLinkAccessAzureArgs']] = None, - display_name: Optional[pulumi.Input[str]] = None): + display_name: Optional[pulumi.Input[str]] = None, + gcp: Optional[pulumi.Input['PrivateLinkAccessGcpArgs']] = None): """ The set of arguments for constructing a PrivateLinkAccess resource. :param pulumi.Input['PrivateLinkAccessEnvironmentArgs'] environment: Environment objects represent an isolated namespace for your Confluent resources for organizational purposes. @@ -36,6 +37,8 @@ def __init__(__self__, *, pulumi.set(__self__, "azure", azure) if display_name is not None: pulumi.set(__self__, "display_name", display_name) + if gcp is not None: + pulumi.set(__self__, "gcp", gcp) @property @pulumi.getter @@ -92,6 +95,15 @@ def display_name(self) -> Optional[pulumi.Input[str]]: def display_name(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "display_name", value) + @property + @pulumi.getter + def gcp(self) -> Optional[pulumi.Input['PrivateLinkAccessGcpArgs']]: + return pulumi.get(self, "gcp") + + @gcp.setter + def gcp(self, value: Optional[pulumi.Input['PrivateLinkAccessGcpArgs']]): + pulumi.set(self, "gcp", value) + @pulumi.input_type class _PrivateLinkAccessState: @@ -100,6 +112,7 @@ def __init__(__self__, *, azure: Optional[pulumi.Input['PrivateLinkAccessAzureArgs']] = None, display_name: Optional[pulumi.Input[str]] = None, environment: Optional[pulumi.Input['PrivateLinkAccessEnvironmentArgs']] = None, + gcp: Optional[pulumi.Input['PrivateLinkAccessGcpArgs']] = None, network: Optional[pulumi.Input['PrivateLinkAccessNetworkArgs']] = None): """ Input properties used for looking up and filtering PrivateLinkAccess resources. @@ -116,6 +129,8 @@ def __init__(__self__, *, pulumi.set(__self__, "display_name", display_name) if environment is not None: pulumi.set(__self__, "environment", environment) + if gcp is not None: + pulumi.set(__self__, "gcp", gcp) if network is not None: pulumi.set(__self__, "network", network) @@ -161,6 +176,15 @@ def environment(self) -> Optional[pulumi.Input['PrivateLinkAccessEnvironmentArgs def environment(self, value: Optional[pulumi.Input['PrivateLinkAccessEnvironmentArgs']]): pulumi.set(self, "environment", value) + @property + @pulumi.getter + def gcp(self) -> Optional[pulumi.Input['PrivateLinkAccessGcpArgs']]: + return pulumi.get(self, "gcp") + + @gcp.setter + def gcp(self, value: Optional[pulumi.Input['PrivateLinkAccessGcpArgs']]): + pulumi.set(self, "gcp", value) + @property @pulumi.getter def network(self) -> Optional[pulumi.Input['PrivateLinkAccessNetworkArgs']]: @@ -184,6 +208,7 @@ def __init__(__self__, azure: Optional[pulumi.Input[pulumi.InputType['PrivateLinkAccessAzureArgs']]] = None, display_name: Optional[pulumi.Input[str]] = None, environment: Optional[pulumi.Input[pulumi.InputType['PrivateLinkAccessEnvironmentArgs']]] = None, + gcp: Optional[pulumi.Input[pulumi.InputType['PrivateLinkAccessGcpArgs']]] = None, network: Optional[pulumi.Input[pulumi.InputType['PrivateLinkAccessNetworkArgs']]] = None, __props__=None): """ @@ -240,6 +265,7 @@ def _internal_init(__self__, azure: Optional[pulumi.Input[pulumi.InputType['PrivateLinkAccessAzureArgs']]] = None, display_name: Optional[pulumi.Input[str]] = None, environment: Optional[pulumi.Input[pulumi.InputType['PrivateLinkAccessEnvironmentArgs']]] = None, + gcp: Optional[pulumi.Input[pulumi.InputType['PrivateLinkAccessGcpArgs']]] = None, network: Optional[pulumi.Input[pulumi.InputType['PrivateLinkAccessNetworkArgs']]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) @@ -256,6 +282,7 @@ def _internal_init(__self__, if environment is None and not opts.urn: raise TypeError("Missing required property 'environment'") __props__.__dict__["environment"] = environment + __props__.__dict__["gcp"] = gcp if network is None and not opts.urn: raise TypeError("Missing required property 'network'") __props__.__dict__["network"] = network @@ -273,6 +300,7 @@ def get(resource_name: str, azure: Optional[pulumi.Input[pulumi.InputType['PrivateLinkAccessAzureArgs']]] = None, display_name: Optional[pulumi.Input[str]] = None, environment: Optional[pulumi.Input[pulumi.InputType['PrivateLinkAccessEnvironmentArgs']]] = None, + gcp: Optional[pulumi.Input[pulumi.InputType['PrivateLinkAccessGcpArgs']]] = None, network: Optional[pulumi.Input[pulumi.InputType['PrivateLinkAccessNetworkArgs']]] = None) -> 'PrivateLinkAccess': """ Get an existing PrivateLinkAccess resource's state with the given name, id, and optional extra @@ -294,6 +322,7 @@ def get(resource_name: str, __props__.__dict__["azure"] = azure __props__.__dict__["display_name"] = display_name __props__.__dict__["environment"] = environment + __props__.__dict__["gcp"] = gcp __props__.__dict__["network"] = network return PrivateLinkAccess(resource_name, opts=opts, __props__=__props__) @@ -323,6 +352,11 @@ def environment(self) -> pulumi.Output['outputs.PrivateLinkAccessEnvironment']: """ return pulumi.get(self, "environment") + @property + @pulumi.getter + def gcp(self) -> pulumi.Output[Optional['outputs.PrivateLinkAccessGcp']]: + return pulumi.get(self, "gcp") + @property @pulumi.getter def network(self) -> pulumi.Output['outputs.PrivateLinkAccessNetwork']: