Skip to content

Commit

Permalink
add AWS identity center integration enroll event
Browse files Browse the repository at this point in the history
  • Loading branch information
flyinghermit committed Jan 21, 2025
1 parent edca124 commit 4dee1d2
Show file tree
Hide file tree
Showing 8 changed files with 3,474 additions and 1,934 deletions.
1,442 changes: 1,068 additions & 374 deletions api/gen/proto/go/usageevents/v1/usageevents.pb.go

Large diffs are not rendered by default.

52 changes: 52 additions & 0 deletions api/proto/teleport/usageevents/v1/usageevents.proto
Original file line number Diff line number Diff line change
Expand Up @@ -602,6 +602,7 @@ enum IntegrationEnrollKind {
INTEGRATION_ENROLL_KIND_MACHINE_ID_AZURE = 23;
INTEGRATION_ENROLL_KIND_MACHINE_ID_SPACELIFT = 24;
INTEGRATION_ENROLL_KIND_MACHINE_ID_KUBERNETES = 25;
INTEGRATION_ENROLL_KIND_AWS_IDENTITY_CENTER = 26;
}

// IntegrationEnrollMetadata contains common metadata
Expand All @@ -628,6 +629,56 @@ message UIIntegrationEnrollCompleteEvent {
IntegrationEnrollMetadata metadata = 1;
}

// IntegrationEnrollStep defines inner configuration steps
// for a given integration type.
enum IntegrationEnrollStep {
INTEGRATION_ENROLL_STEP_UNSPECIFIED = 0;

// AWSIC denotes AWS Identity Center integration.
INTEGRATION_ENROLL_STEP_AWSIC_CONNECT_OIDC = 1;
INTEGRATION_ENROLL_STEP_AWSIC_SET_ACCESSLIST_DEFAULT_OWNER = 2;
INTEGRATION_ENROLL_STEP_AWSIC_UPLOAD_AWS_SAML_SP_METADATA = 3;
INTEGRATION_ENROLL_STEP_AWSIC_TEST_SCIM_CONNECTION = 4;
}

// IntegrationEnrollStatusCode defines status code for an integration enroll step.
enum IntegrationEnrollStatusCode {
INTEGRATION_ENROLL_STATUS_CODE_UNSPECIFIED = 0;
// The user tried to complete the action and it succeeded.
INTEGRATION_ENROLL_STATUS_CODE_SUCCESS = 1;
// The user or system skipped the step.
// For example:
// When setting up an AWS IAM Identity Center integration, we allow reusing
// OIDC integrationn if it was previously created for the Identity Center.
INTEGRATION_ENROLL_STATUS_CODE_SKIPPED = 2;
// The user tried to complete the action and it failed.
INTEGRATION_ENROLL_STATUS_CODE_ERROR = 3;
// The user did not complete the action and left the wizard.
INTEGRATION_ENROLL_STATUS_CODE_ABORTED = 4;
}

// IntegrationEnrollStepStatus defines fields that track a particular step outcome,
// for example connection test failed or succeeded, or user aborted the step.
message IntegrationEnrollStepStatus {
// Code indicates the step outcome.
IntegrationEnrollStatusCode code = 1;
// Error contains error details in case of an error status code.
// Error message should not include any identifiable information
// like server address.
string error = 2;
}

// UIIntegrationEnrollStepEvent defines configuration step event
// with a status for a specific integration enroll kind.
message UIIntegrationEnrollStepEvent {
// Metadata is the metadata of an event.
IntegrationEnrollMetadata metadata = 1;
// Step is the name of the step for a given integration kind.
IntegrationEnrollStep step = 2;
// Status is the status of the step outcome.
IntegrationEnrollStepStatus status = 3;
}

// ResourceCreateEvent is emitted when a resource is created.
message ResourceCreateEvent {
// resource_type is the type of resource ("node", "node.openssh", "db", "k8s", "app").
Expand Down Expand Up @@ -847,6 +898,7 @@ message UsageEventOneOf {
AccessGraphAWSScanEvent access_graph_aws_scan_event = 58;
UIAccessGraphCrownJewelDiffViewEvent ui_access_graph_crown_jewel_diff_view = 59;
UserTaskStateEvent user_task_state_event = 60;
UIIntegrationEnrollStepEvent ui_integration_enroll_step_event = 61;
}
reserved 2; //UIOnboardGetStartedClickEvent
reserved "ui_onboard_get_started_click";
Expand Down
Loading

0 comments on commit 4dee1d2

Please sign in to comment.