diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..62c8935 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.idea/ \ No newline at end of file diff --git a/client.go b/client.go index 388e0b6..f204e0a 100644 --- a/client.go +++ b/client.go @@ -87,6 +87,7 @@ type RootQueryType struct { SearchRepositories *RepositoryConnection "json:\"searchRepositories\" graphql:\"searchRepositories\"" SearchUsers *UserConnection "json:\"searchUsers\" graphql:\"searchUsers\"" Shell *CloudShell "json:\"shell\" graphql:\"shell\"" + ShellApplications []*ApplicationInformation "json:\"shellApplications\" graphql:\"shellApplications\"" ShellConfiguration *ShellConfiguration "json:\"shellConfiguration\" graphql:\"shellConfiguration\"" Stack *Stack "json:\"stack\" graphql:\"stack\"" Stacks *StackConnection "json:\"stacks\" graphql:\"stacks\"" @@ -153,6 +154,7 @@ type RootMutationType struct { CreateUserEvent *bool "json:\"createUserEvent\" graphql:\"createUserEvent\"" CreateWebhook *Webhook "json:\"createWebhook\" graphql:\"createWebhook\"" CreateZoom *ZoomMeeting "json:\"createZoom\" graphql:\"createZoom\"" + DefaultPaymentMethod *bool "json:\"defaultPaymentMethod\" graphql:\"defaultPaymentMethod\"" DeleteCard *Account "json:\"deleteCard\" graphql:\"deleteCard\"" DeleteChartInstallation *ChartInstallation "json:\"deleteChartInstallation\" graphql:\"deleteChartInstallation\"" DeleteCluster *Cluster "json:\"deleteCluster\" graphql:\"deleteCluster\"" @@ -168,6 +170,7 @@ type RootMutationType struct { DeleteInvite *Invite "json:\"deleteInvite\" graphql:\"deleteInvite\"" DeleteKeyBackup *KeyBackup "json:\"deleteKeyBackup\" graphql:\"deleteKeyBackup\"" DeleteMessage *IncidentMessage "json:\"deleteMessage\" graphql:\"deleteMessage\"" + DeletePaymentMethod *PaymentMethod "json:\"deletePaymentMethod\" graphql:\"deletePaymentMethod\"" DeletePlatformSubscription *Account "json:\"deletePlatformSubscription\" graphql:\"deletePlatformSubscription\"" DeletePublicKey *PublicKey "json:\"deletePublicKey\" graphql:\"deletePublicKey\"" DeleteReaction *IncidentMessage "json:\"deleteReaction\" graphql:\"deleteReaction\"" @@ -208,6 +211,7 @@ type RootMutationType struct { ReleaseLock *ApplyLock "json:\"releaseLock\" graphql:\"releaseLock\"" ResetInstallations *int64 "json:\"resetInstallations\" graphql:\"resetInstallations\"" RestartShell *bool "json:\"restartShell\" graphql:\"restartShell\"" + SetupIntent *SetupIntent "json:\"setupIntent\" graphql:\"setupIntent\"" SetupShell *CloudShell "json:\"setupShell\" graphql:\"setupShell\"" Signup *User "json:\"signup\" graphql:\"signup\"" SsoCallback *User "json:\"ssoCallback\" graphql:\"ssoCallback\"" @@ -664,6 +668,38 @@ type GetRecipe struct { RecipeDependencies []*RecipeFragment "json:\"recipeDependencies\" graphql:\"recipeDependencies\"" } "json:\"recipe\" graphql:\"recipe\"" } +type GetRecipeByID struct { + Recipe *struct { + ID string "json:\"id\" graphql:\"id\"" + Name string "json:\"name\" graphql:\"name\"" + Description *string "json:\"description\" graphql:\"description\"" + Restricted *bool "json:\"restricted\" graphql:\"restricted\"" + Provider *Provider "json:\"provider\" graphql:\"provider\"" + Tests []*struct { + Type TestType "json:\"type\" graphql:\"type\"" + Name string "json:\"name\" graphql:\"name\"" + Message *string "json:\"message\" graphql:\"message\"" + Args []*struct { + Name string "json:\"name\" graphql:\"name\"" + Repo string "json:\"repo\" graphql:\"repo\"" + Key string "json:\"key\" graphql:\"key\"" + } "json:\"args\" graphql:\"args\"" + } "json:\"tests\" graphql:\"tests\"" + Repository *struct { + ID string "json:\"id\" graphql:\"id\"" + Name string "json:\"name\" graphql:\"name\"" + } "json:\"repository\" graphql:\"repository\"" + OidcSettings *struct { + URIFormat *string "json:\"uriFormat\" graphql:\"uriFormat\"" + URIFormats []*string "json:\"uriFormats\" graphql:\"uriFormats\"" + AuthMethod OidcAuthMethod "json:\"authMethod\" graphql:\"authMethod\"" + DomainKey *string "json:\"domainKey\" graphql:\"domainKey\"" + Subdomain *bool "json:\"subdomain\" graphql:\"subdomain\"" + } "json:\"oidcSettings\" graphql:\"oidcSettings\"" + RecipeSections []*RecipeSectionFragment "json:\"recipeSections\" graphql:\"recipeSections\"" + RecipeDependencies []*RecipeFragment "json:\"recipeDependencies\" graphql:\"recipeDependencies\"" + } "json:\"recipe\" graphql:\"recipe\"" +} type ListRecipes struct { Recipes *struct { Edges []*struct { @@ -1082,6 +1118,24 @@ const GetChartInstallationsDocument = `query GetChartInstallations ($id: ID!) { } } } +fragment ChartInstallationFragment on ChartInstallation { + id + chart { + ... ChartFragment + dependencies { + ... DependenciesFragment + } + } + version { + ... VersionFragment + } +} +fragment ChartFragment on Chart { + id + name + description + latestVersion +} fragment DependenciesFragment on Dependencies { dependencies { type @@ -1126,24 +1180,6 @@ fragment CrdFragment on Crd { name blob } -fragment ChartInstallationFragment on ChartInstallation { - id - chart { - ... ChartFragment - dependencies { - ... DependenciesFragment - } - } - version { - ... VersionFragment - } -} -fragment ChartFragment on Chart { - id - name - description - latestVersion -} ` func (c *Client) GetChartInstallations(ctx context.Context, id string, httpRequestOptions ...client.HTTPRequestOption) (*GetChartInstallations, error) { @@ -1389,6 +1425,20 @@ const ClusterInfoDocument = `query ClusterInfo ($id: ID!) { } } } +fragment RepositoryFragment on Repository { + id + name + notes + icon + darkIcon + description + publisher { + name + } + recipes { + name + } +} fragment ClusterFragment on Cluster { id name @@ -1404,20 +1454,6 @@ fragment UserFragment on User { name email } -fragment RepositoryFragment on Repository { - id - name - notes - icon - darkIcon - description - publisher { - name - } - recipes { - name - } -} ` func (c *Client) ClusterInfo(ctx context.Context, id string, httpRequestOptions ...client.HTTPRequestOption) (*ClusterInfo, error) { @@ -1659,19 +1695,6 @@ const GetInstallationByIDDocument = `query GetInstallationById ($id: ID) { ... InstallationFragment } } -fragment InstallationFragment on Installation { - id - context - licenseKey - acmeKeyId - acmeSecret - repository { - ... RepositoryFragment - } - oidcProvider { - ... OIDCProvider - } -} fragment RepositoryFragment on Repository { id name @@ -1709,6 +1732,19 @@ fragment OIDCProvider on OidcProvider { userinfoEndpoint } } +fragment InstallationFragment on Installation { + id + context + licenseKey + acmeKeyId + acmeSecret + repository { + ... RepositoryFragment + } + oidcProvider { + ... OIDCProvider + } +} ` func (c *Client) GetInstallationByID(ctx context.Context, id *string, httpRequestOptions ...client.HTTPRequestOption) (*GetInstallationByID, error) { @@ -1861,6 +1897,20 @@ const GetRecipeDocument = `query GetRecipe ($repo: String, $name: String) { } } } +fragment RepositoryFragment on Repository { + id + name + notes + icon + darkIcon + description + publisher { + name + } + recipes { + name + } +} fragment RecipeItemFragment on RecipeItem { id chart { @@ -1976,20 +2026,6 @@ fragment RecipeSectionFragment on RecipeSection { ... RecipeConfigurationFragment } } -fragment RepositoryFragment on Repository { - id - name - notes - icon - darkIcon - description - publisher { - name - } - recipes { - name - } -} ` func (c *Client) GetRecipe(ctx context.Context, repo *string, name *string, httpRequestOptions ...client.HTTPRequestOption) (*GetRecipe, error) { @@ -2006,69 +2042,14 @@ func (c *Client) GetRecipe(ctx context.Context, repo *string, name *string, http return &res, nil } -const ListRecipesDocument = `query ListRecipes ($repo: String, $provider: Provider) { - recipes(repositoryName: $repo, provider: $provider, first: 500) { - edges { - node { - ... RecipeFragment - } +const GetRecipeByIDDocument = `query GetRecipeByID ($id: ID) { + recipe(id: $id) { + ... RecipeFragment + recipeDependencies { + ... RecipeFragment } } } -fragment RecipeSectionFragment on RecipeSection { - index - repository { - ... RepositoryFragment - } - recipeItems { - ... RecipeItemFragment - } - configuration { - ... RecipeConfigurationFragment - } -} -fragment RepositoryFragment on Repository { - id - name - notes - icon - darkIcon - description - publisher { - name - } - recipes { - name - } -} -fragment RecipeItemFragment on RecipeItem { - id - chart { - ... ChartFragment - } - terraform { - ... TerraformFragment - } - configuration { - ... RecipeConfigurationFragment - } -} -fragment ChartFragment on Chart { - id - name - description - latestVersion -} -fragment TerraformFragment on Terraform { - id - name - package - description - dependencies { - ... DependenciesFragment - } - valuesTemplate -} fragment DependenciesFragment on Dependencies { dependencies { type @@ -2144,29 +2125,30 @@ fragment RecipeFragment on Recipe { ... RecipeSectionFragment } } -` - -func (c *Client) ListRecipes(ctx context.Context, repo *string, provider *Provider, httpRequestOptions ...client.HTTPRequestOption) (*ListRecipes, error) { - vars := map[string]interface{}{ - "repo": repo, - "provider": provider, +fragment RecipeSectionFragment on RecipeSection { + index + repository { + ... RepositoryFragment } - - var res ListRecipes - if err := c.Client.Post(ctx, "ListRecipes", ListRecipesDocument, &res, vars, httpRequestOptions...); err != nil { - return nil, err + recipeItems { + ... RecipeItemFragment + } + configuration { + ... RecipeConfigurationFragment } - - return &res, nil } - -const ListAllRecipesDocument = `query ListAllRecipes ($repo: String) { - recipes(repositoryName: $repo, first: 500) { - edges { - node { - ... RecipeFragment - } - } +fragment RepositoryFragment on Repository { + id + name + notes + icon + darkIcon + description + publisher { + name + } + recipes { + name } } fragment RecipeItemFragment on RecipeItem { @@ -2197,9 +2179,215 @@ fragment TerraformFragment on Terraform { } valuesTemplate } -fragment DependenciesFragment on Dependencies { - dependencies { - type +` + +func (c *Client) GetRecipeByID(ctx context.Context, id *string, httpRequestOptions ...client.HTTPRequestOption) (*GetRecipeByID, error) { + vars := map[string]interface{}{ + "id": id, + } + + var res GetRecipeByID + if err := c.Client.Post(ctx, "GetRecipeByID", GetRecipeByIDDocument, &res, vars, httpRequestOptions...); err != nil { + return nil, err + } + + return &res, nil +} + +const ListRecipesDocument = `query ListRecipes ($repo: String, $provider: Provider) { + recipes(repositoryName: $repo, provider: $provider, first: 500) { + edges { + node { + ... RecipeFragment + } + } + } +} +fragment RecipeConfigurationFragment on RecipeConfiguration { + name + type + default + documentation + optional + placeholder + functionName + condition { + field + operation + value + } + validation { + type + regex + message + } +} +fragment RecipeFragment on Recipe { + id + name + description + restricted + provider + tests { + type + name + message + args { + name + repo + key + } + } + repository { + id + name + } + oidcSettings { + uriFormat + uriFormats + authMethod + domainKey + subdomain + } + recipeSections { + ... RecipeSectionFragment + } +} +fragment RecipeSectionFragment on RecipeSection { + index + repository { + ... RepositoryFragment + } + recipeItems { + ... RecipeItemFragment + } + configuration { + ... RecipeConfigurationFragment + } +} +fragment RepositoryFragment on Repository { + id + name + notes + icon + darkIcon + description + publisher { + name + } + recipes { + name + } +} +fragment RecipeItemFragment on RecipeItem { + id + chart { + ... ChartFragment + } + terraform { + ... TerraformFragment + } + configuration { + ... RecipeConfigurationFragment + } +} +fragment ChartFragment on Chart { + id + name + description + latestVersion +} +fragment TerraformFragment on Terraform { + id + name + package + description + dependencies { + ... DependenciesFragment + } + valuesTemplate +} +fragment DependenciesFragment on Dependencies { + dependencies { + type + name + repo + optional + version + } + breaking + instructions { + instructions + script + } + wait + application + providers + secrets + wirings { + terraform + helm + } + providerWirings + outputs + providerVsn +} +` + +func (c *Client) ListRecipes(ctx context.Context, repo *string, provider *Provider, httpRequestOptions ...client.HTTPRequestOption) (*ListRecipes, error) { + vars := map[string]interface{}{ + "repo": repo, + "provider": provider, + } + + var res ListRecipes + if err := c.Client.Post(ctx, "ListRecipes", ListRecipesDocument, &res, vars, httpRequestOptions...); err != nil { + return nil, err + } + + return &res, nil +} + +const ListAllRecipesDocument = `query ListAllRecipes ($repo: String) { + recipes(repositoryName: $repo, first: 500) { + edges { + node { + ... RecipeFragment + } + } + } +} +fragment RecipeItemFragment on RecipeItem { + id + chart { + ... ChartFragment + } + terraform { + ... TerraformFragment + } + configuration { + ... RecipeConfigurationFragment + } +} +fragment ChartFragment on Chart { + id + name + description + latestVersion +} +fragment TerraformFragment on Terraform { + id + name + package + description + dependencies { + ... DependenciesFragment + } + valuesTemplate +} +fragment DependenciesFragment on Dependencies { + dependencies { + type name repo optional @@ -2388,37 +2576,6 @@ fragment StackFragment on Stack { ... RecipeFragment } } -fragment RecipeFragment on Recipe { - id - name - description - restricted - provider - tests { - type - name - message - args { - name - repo - key - } - } - repository { - id - name - } - oidcSettings { - uriFormat - uriFormats - authMethod - domainKey - subdomain - } - recipeSections { - ... RecipeSectionFragment - } -} fragment RecipeSectionFragment on RecipeSection { index repository { @@ -2445,15 +2602,42 @@ fragment RepositoryFragment on Repository { name } } -fragment TerraformFragment on Terraform { +fragment ChartFragment on Chart { id name - package description - dependencies { - ... DependenciesFragment + latestVersion +} +fragment RecipeFragment on Recipe { + id + name + description + restricted + provider + tests { + type + name + message + args { + name + repo + key + } + } + repository { + id + name + } + oidcSettings { + uriFormat + uriFormats + authMethod + domainKey + subdomain + } + recipeSections { + ... RecipeSectionFragment } - valuesTemplate } fragment RecipeItemFragment on RecipeItem { id @@ -2467,11 +2651,15 @@ fragment RecipeItemFragment on RecipeItem { ... RecipeConfigurationFragment } } -fragment ChartFragment on Chart { +fragment TerraformFragment on Terraform { id name + package description - latestVersion + dependencies { + ... DependenciesFragment + } + valuesTemplate } fragment DependenciesFragment on Dependencies { dependencies { @@ -2542,6 +2730,56 @@ const ListStacksDocument = `query ListStacks ($featured: Boolean, $cursor: Strin } } } +fragment StackFragment on Stack { + id + name + featured + description + bundles { + ... RecipeFragment + } +} +fragment RecipeSectionFragment on RecipeSection { + index + repository { + ... RepositoryFragment + } + recipeItems { + ... RecipeItemFragment + } + configuration { + ... RecipeConfigurationFragment + } +} +fragment TerraformFragment on Terraform { + id + name + package + description + dependencies { + ... DependenciesFragment + } + valuesTemplate +} +fragment RecipeConfigurationFragment on RecipeConfiguration { + name + type + default + documentation + optional + placeholder + functionName + condition { + field + operation + value + } + validation { + type + regex + message + } +} fragment RecipeFragment on Recipe { id name @@ -2573,18 +2811,6 @@ fragment RecipeFragment on Recipe { ... RecipeSectionFragment } } -fragment RecipeSectionFragment on RecipeSection { - index - repository { - ... RepositoryFragment - } - recipeItems { - ... RecipeItemFragment - } - configuration { - ... RecipeConfigurationFragment - } -} fragment RepositoryFragment on Repository { id name @@ -2599,21 +2825,23 @@ fragment RepositoryFragment on Repository { name } } -fragment ChartFragment on Chart { +fragment RecipeItemFragment on RecipeItem { id - name - description - latestVersion + chart { + ... ChartFragment + } + terraform { + ... TerraformFragment + } + configuration { + ... RecipeConfigurationFragment + } } -fragment TerraformFragment on Terraform { +fragment ChartFragment on Chart { id name - package description - dependencies { - ... DependenciesFragment - } - valuesTemplate + latestVersion } fragment DependenciesFragment on Dependencies { dependencies { @@ -2640,46 +2868,6 @@ fragment DependenciesFragment on Dependencies { outputs providerVsn } -fragment RecipeConfigurationFragment on RecipeConfiguration { - name - type - default - documentation - optional - placeholder - functionName - condition { - field - operation - value - } - validation { - type - regex - message - } -} -fragment StackFragment on Stack { - id - name - featured - description - bundles { - ... RecipeFragment - } -} -fragment RecipeItemFragment on RecipeItem { - id - chart { - ... ChartFragment - } - terraform { - ... TerraformFragment - } - configuration { - ... RecipeConfigurationFragment - } -} ` func (c *Client) ListStacks(ctx context.Context, featured *bool, cursor *string, httpRequestOptions ...client.HTTPRequestOption) (*ListStacks, error) { @@ -3117,25 +3305,6 @@ const GetTerraformInstallationsDocument = `query GetTerraformInstallations ($id: } } } -fragment TerraformInstallationFragment on TerraformInstallation { - id - terraform { - ... TerraformFragment - } - version { - ... VersionFragment - } -} -fragment TerraformFragment on Terraform { - id - name - package - description - dependencies { - ... DependenciesFragment - } - valuesTemplate -} fragment DependenciesFragment on Dependencies { dependencies { type @@ -3180,6 +3349,25 @@ fragment CrdFragment on Crd { name blob } +fragment TerraformInstallationFragment on TerraformInstallation { + id + terraform { + ... TerraformFragment + } + version { + ... VersionFragment + } +} +fragment TerraformFragment on Terraform { + id + name + package + description + dependencies { + ... DependenciesFragment + } + valuesTemplate +} ` func (c *Client) GetTerraformInstallations(ctx context.Context, id string, httpRequestOptions ...client.HTTPRequestOption) (*GetTerraformInstallations, error) { @@ -3452,6 +3640,11 @@ const ListKeysDocument = `query ListKeys ($emails: [String]) { } } } +fragment UserFragment on User { + id + name + email +} fragment PublicKeyFragment on PublicKey { id content @@ -3459,11 +3652,6 @@ fragment PublicKeyFragment on PublicKey { ... UserFragment } } -fragment UserFragment on User { - id - name - email -} ` func (c *Client) ListKeys(ctx context.Context, emails []*string, httpRequestOptions ...client.HTTPRequestOption) (*ListKeys, error) { diff --git a/graph/recipes.graphql b/graph/recipes.graphql index 1a97122..5c87240 100644 --- a/graph/recipes.graphql +++ b/graph/recipes.graphql @@ -5,6 +5,13 @@ query GetRecipe($repo: String, $name: String) { } } +query GetRecipeByID($id: ID) { + recipe(id: $id) { + ...RecipeFragment + recipeDependencies { ...RecipeFragment } + } +} + query ListRecipes($repo: String, $provider: Provider) { recipes(repositoryName: $repo, provider: $provider, first: 500) { edges { node { ...RecipeFragment } } diff --git a/models_gen.go b/models_gen.go index 330d87a..19624a4 100644 --- a/models_gen.go +++ b/models_gen.go @@ -9,23 +9,24 @@ import ( ) type Account struct { - AvailableFeatures *PlanFeatures `json:"availableFeatures"` - BackgroundColor *string `json:"backgroundColor"` - BillingAddress *Address `json:"billingAddress"` - BillingCustomerID *string `json:"billingCustomerId"` - ClusterCount *string `json:"clusterCount"` - DelinquentAt *string `json:"delinquentAt"` - DomainMappings []*DomainMapping `json:"domainMappings"` - GrandfatheredUntil *string `json:"grandfatheredUntil"` - Icon *string `json:"icon"` - ID string `json:"id"` - InsertedAt *string `json:"insertedAt"` - Name *string `json:"name"` - RootUser *User `json:"rootUser"` - Subscription *PlatformSubscription `json:"subscription"` - UpdatedAt *string `json:"updatedAt"` - UserCount *string `json:"userCount"` - WorkosConnectionID *string `json:"workosConnectionId"` + AvailableFeatures *PlanFeatures `json:"availableFeatures"` + BackgroundColor *string `json:"backgroundColor"` + BillingAddress *Address `json:"billingAddress"` + BillingCustomerID *string `json:"billingCustomerId"` + ClusterCount *string `json:"clusterCount"` + DelinquentAt *string `json:"delinquentAt"` + DomainMappings []*DomainMapping `json:"domainMappings"` + GrandfatheredUntil *string `json:"grandfatheredUntil"` + Icon *string `json:"icon"` + ID string `json:"id"` + InsertedAt *string `json:"insertedAt"` + Name *string `json:"name"` + PaymentMethods *PaymentMethodConnection `json:"paymentMethods"` + RootUser *User `json:"rootUser"` + Subscription *PlatformSubscription `json:"subscription"` + UpdatedAt *string `json:"updatedAt"` + UserCount *string `json:"userCount"` + WorkosConnectionID *string `json:"workosConnectionId"` } type AccountAttributes struct { @@ -59,12 +60,38 @@ type AddressAttributes struct { City string `json:"city"` Country string `json:"country"` Line1 string `json:"line1"` - Line2 string `json:"line2"` + Line2 *string `json:"line2,omitempty"` Name *string `json:"name,omitempty"` - State string `json:"state"` + State *string `json:"state,omitempty"` Zip string `json:"zip"` } +type AppLink struct { + Description *string `json:"description"` + URL *string `json:"url"` +} + +type ApplicationComponent struct { + Group *string `json:"group"` + Kind *string `json:"kind"` + Name *string `json:"name"` + Status *string `json:"status"` +} + +type ApplicationInformation struct { + Components []*ApplicationComponent `json:"components"` + ComponentsReady *string `json:"componentsReady"` + Name string `json:"name"` + Ready *bool `json:"ready"` + Spec *ApplicationSpec `json:"spec"` +} + +type ApplicationSpec struct { + Description *string `json:"description"` + Links []*AppLink `json:"links"` + Version *string `json:"version"` +} + type ApplyLock struct { ID string `json:"id"` InsertedAt *string `json:"insertedAt"` @@ -1049,6 +1076,7 @@ type Invoice struct { HostedInvoiceURL *string `json:"hostedInvoiceUrl"` Lines []*InvoiceItem `json:"lines"` Number string `json:"number"` + PaymentIntent *PaymentIntent `json:"paymentIntent"` Status *string `json:"status"` } @@ -1178,6 +1206,11 @@ type NetworkConfiguration struct { Subdomain *string `json:"subdomain"` } +type NextAction struct { + RedirectToURL *RedirectToURL `json:"redirectToUrl"` + Type *string `json:"type"` +} + type Notification struct { Actor User `json:"actor"` ID string `json:"id"` @@ -1364,6 +1397,34 @@ type PageInfo struct { StartCursor *string `json:"startCursor"` } +type PaymentIntent struct { + Amount *int64 `json:"amount"` + CaptureMethod *string `json:"captureMethod"` + ClientSecret *string `json:"clientSecret"` + Currency *string `json:"currency"` + Description *string `json:"description"` + ID *string `json:"id"` + NextAction *NextAction `json:"nextAction"` + Status *string `json:"status"` +} + +type PaymentMethod struct { + Card *Card `json:"card"` + ID *string `json:"id"` + IsDefault *bool `json:"isDefault"` + Type *string `json:"type"` +} + +type PaymentMethodConnection struct { + Edges []*PaymentMethodEdge `json:"edges"` + PageInfo PageInfo `json:"pageInfo"` +} + +type PaymentMethodEdge struct { + Cursor *string `json:"cursor"` + Node *PaymentMethod `json:"node"` +} + type PersistedToken struct { Audits *PersistedTokenAuditConnection `json:"audits"` ID *string `json:"id"` @@ -1495,10 +1556,11 @@ type PlatformPlanItem struct { } type PlatformSubscription struct { - ExternalID *string `json:"externalId"` - ID string `json:"id"` - LineItems []*PlatformSubscriptionLineItems `json:"lineItems"` - Plan *PlatformPlan `json:"plan"` + ExternalID *string `json:"externalId"` + ID string `json:"id"` + LatestInvoice *Invoice `json:"latestInvoice"` + LineItems []*PlatformSubscriptionLineItems `json:"lineItems"` + Plan *PlatformPlan `json:"plan"` } type PlatformSubscriptionLineItems struct { @@ -1748,6 +1810,11 @@ type RecipeValidationAttributes struct { Type ValidationType `json:"type"` } +type RedirectToURL struct { + ReturnURL *string `json:"returnUrl"` + URL *string `json:"url"` +} + // Container for all resources to create an application. type Repository struct { // The artifacts of the application. @@ -2043,6 +2110,14 @@ type ServiceLevelAttributes struct { ResponseTime *int64 `json:"responseTime,omitempty"` } +type SetupIntent struct { + ClientSecret *string `json:"clientSecret"` + ID *string `json:"id"` + NextAction *NextAction `json:"nextAction"` + PaymentMethodTypes []*string `json:"paymentMethodTypes"` + Status *string `json:"status"` +} + type ShellConfiguration struct { Buckets []*string `json:"buckets"` ContextConfiguration map[string]interface{} `json:"contextConfiguration"`