diff --git a/gc/v1/gc.proto b/gc/v1/gc.proto index b9f5de27..8d2a36a4 100644 --- a/gc/v1/gc.proto +++ b/gc/v1/gc.proto @@ -295,6 +295,13 @@ service GuaranteedCommitments { }; } + rpc AcceptBillingGroupTerms(AcceptBillingGroupTermsRequest) returns (AcceptBillingGroupTermsResponse) { + option (google.api.http) = { + post: "/v1/managements/billinggroups/terms:accept" + body: "*" + }; + } + // GetGuaranteedCommitmentTemplateUrl returns a CloudFormation launch URL for deploying // both Alphaus (Ripple) and Archera IAM roles in a single stack. rpc GetGuaranteedCommitmentTemplateUrl(GetGuaranteedCommitmentTemplateUrlRequest) returns (GetGuaranteedCommitmentTemplateUrlResponse) { @@ -546,6 +553,13 @@ message AwsExistingCur { string reportName = 4; // maps to "report_name" conceptually } +// TermsAcceptance represents the current terms acceptance state for an entity. +message TermsAcceptance { + bool accepted = 1; + string acceptedAt = 2; + string acceptedBy = 3; +} + message RegisterOrgRequest { string name = 1; @@ -662,6 +676,9 @@ message GetAwsPrivateOfferRequest { bool recreate = 2; } +message AcceptBillingGroupTermsRequest {} + + message SaveCommitmentsPlanAsDraftRequest { // Required. The commitment purchase plan ID to save as draft. string planId = 1; @@ -1655,6 +1672,8 @@ message GetOnboardingStatusResponse { // passed/failed when a user comes back later (e.g., after stopping at verification). // Empty when verification hasn't been attempted yet or when no checks were persisted. repeated VerifyAwsOnboardingResponse.AwsOnboardingFeatureCheck verificationChecks = 10; + + TermsAcceptance termsAcceptance = 11; } message PayerAccountDetails { @@ -1748,6 +1767,8 @@ message SetBillingGroupStatusResponse { message GetBillingGroupStatusResponse { ListBillingGroupsResponse.BillingGroup billingGroup = 1; + + TermsAcceptance termsAcceptance = 2; } message ValidateBillingGroupResponse { @@ -1785,6 +1806,10 @@ message GetAwsPrivateOfferResponse { string expirationDate = 9; } +message AcceptBillingGroupTermsResponse { + TermsAcceptance termsAcceptance = 1; +} + message ListDraftPurchasePlansResponse { repeated DefaultPurchasePlan plans = 1; } diff --git a/openapiv2/apidocs.swagger.json b/openapiv2/apidocs.swagger.json index 36689c9a..4a6ec3cd 100644 --- a/openapiv2/apidocs.swagger.json +++ b/openapiv2/apidocs.swagger.json @@ -11379,6 +11379,38 @@ ] } }, + "/v1/managements/billinggroups/terms:accept": { + "post": { + "operationId": "GuaranteedCommitments_AcceptBillingGroupTerms", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v1AcceptBillingGroupTermsResponse" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/v1AcceptBillingGroupTermsRequest" + } + } + ], + "tags": [ + "GuaranteedCommitments" + ] + } + }, "/v1/managements/billinggroups/{companyId}": { "post": { "operationId": "GuaranteedCommitments_SetBillingGroupStatus", @@ -34122,6 +34154,17 @@ } } }, + "v1AcceptBillingGroupTermsRequest": { + "type": "object" + }, + "v1AcceptBillingGroupTermsResponse": { + "type": "object", + "properties": { + "termsAcceptance": { + "$ref": "#/definitions/v1TermsAcceptance" + } + } + }, "v1AccountAccess": { "type": "object", "properties": { @@ -40322,6 +40365,9 @@ "properties": { "billingGroup": { "$ref": "#/definitions/v1ListBillingGroupsResponseBillingGroup" + }, + "termsAcceptance": { + "$ref": "#/definitions/v1TermsAcceptance" } } }, @@ -41602,6 +41648,9 @@ "$ref": "#/definitions/VerifyAwsOnboardingResponseAwsOnboardingFeatureCheck" }, "description": "Detailed AWS verification results (best-effort) returned from the last VerifyAwsOnboarding call.\nThis is used by the UI to \"resume\" the onboarding flow and show which verification checks\npassed/failed when a user comes back later (e.g., after stopping at verification).\nEmpty when verification hasn't been attempted yet or when no checks were persisted." + }, + "termsAcceptance": { + "$ref": "#/definitions/v1TermsAcceptance" } } }, @@ -46260,6 +46309,21 @@ } } }, + "v1TermsAcceptance": { + "type": "object", + "properties": { + "accepted": { + "type": "boolean" + }, + "acceptedAt": { + "type": "string" + }, + "acceptedBy": { + "type": "string" + } + }, + "description": "TermsAcceptance represents the current terms acceptance state for an entity." + }, "v1ThirdProfitItemSection": { "type": "object", "properties": {