@three14/pulumi-argocd 1.1.0 → 1.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/types/output.d.ts CHANGED
@@ -32078,6 +32078,848 @@ export interface ClusterMetadata {
32078
32078
  [key: string]: string;
32079
32079
  };
32080
32080
  }
32081
+ export interface GetApplicationMetadata {
32082
+ /**
32083
+ * An unstructured key value map stored with the applications.argoproj.io that may be used to store arbitrary metadata. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
32084
+ */
32085
+ annotations: {
32086
+ [key: string]: string;
32087
+ };
32088
+ /**
32089
+ * A sequence number representing a specific generation of the desired state.
32090
+ */
32091
+ generation: number;
32092
+ /**
32093
+ * Map of string keys and values that can be used to organize and categorize (scope and select) the applications.argoproj.io. May match selectors of replication controllers and services. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels
32094
+ */
32095
+ labels: {
32096
+ [key: string]: string;
32097
+ };
32098
+ /**
32099
+ * Name of the applications.argoproj.io, must be unique. Cannot be updated. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
32100
+ */
32101
+ name: string;
32102
+ /**
32103
+ * Namespace of the applications.argoproj.io, must be unique. Cannot be updated. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
32104
+ */
32105
+ namespace: string;
32106
+ /**
32107
+ * An opaque value that represents the internal version of this applications.argoproj.io that can be used by clients to determine when the applications.argoproj.io has changed. Read more: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency
32108
+ */
32109
+ resourceVersion: string;
32110
+ /**
32111
+ * The unique in time and space value for this applications.argoproj.io. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids
32112
+ */
32113
+ uid: string;
32114
+ }
32115
+ export interface GetApplicationSpec {
32116
+ /**
32117
+ * Reference to the Kubernetes server and namespace in which the application will be deployed.
32118
+ */
32119
+ destination: outputs.GetApplicationSpecDestination;
32120
+ /**
32121
+ * Resources and their fields which should be ignored during comparison. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/diffing/#application-level-configuration.
32122
+ */
32123
+ ignoreDifferences: outputs.GetApplicationSpecIgnoreDifference[];
32124
+ /**
32125
+ * List of information (URLs, email addresses, and plain text) that relates to the application.
32126
+ */
32127
+ infos: outputs.GetApplicationSpecInfo[];
32128
+ /**
32129
+ * The project the application belongs to. Defaults to `default`.
32130
+ */
32131
+ project: string;
32132
+ /**
32133
+ * Limits the number of items kept in the application's revision history, which is used for informational purposes as well as for rollbacks to previous versions. This should only be changed in exceptional circumstances. Setting to zero will store no history. This will reduce storage used. Increasing will increase the space used to store the history, so we do not recommend increasing it. Default is 10.
32134
+ */
32135
+ revisionHistoryLimit: number;
32136
+ /**
32137
+ * Location of the application's manifests or chart.
32138
+ */
32139
+ sources: outputs.GetApplicationSpecSource[];
32140
+ /**
32141
+ * Controls when and how a sync will be performed.
32142
+ */
32143
+ syncPolicy: outputs.GetApplicationSpecSyncPolicy;
32144
+ }
32145
+ export interface GetApplicationSpecDestination {
32146
+ /**
32147
+ * Name of the target cluster. Can be used instead of `server`.
32148
+ */
32149
+ name: string;
32150
+ /**
32151
+ * Target namespace for the application's resources. The namespace will only be set for namespace-scoped resources that have not set a value for .metadata.namespace.
32152
+ */
32153
+ namespace: string;
32154
+ /**
32155
+ * URL of the target cluster and must be set to the Kubernetes control plane API.
32156
+ */
32157
+ server: string;
32158
+ }
32159
+ export interface GetApplicationSpecIgnoreDifference {
32160
+ /**
32161
+ * The Kubernetes resource Group to match for.
32162
+ */
32163
+ group: string;
32164
+ /**
32165
+ * List of JQ path expression strings targeting the field(s) to ignore.
32166
+ */
32167
+ jqPathExpressions: string[];
32168
+ /**
32169
+ * List of JSONPaths strings targeting the field(s) to ignore.
32170
+ */
32171
+ jsonPointers: string[];
32172
+ /**
32173
+ * The Kubernetes resource Kind to match for.
32174
+ */
32175
+ kind: string;
32176
+ /**
32177
+ * The Kubernetes resource Name to match for.
32178
+ */
32179
+ name: string;
32180
+ /**
32181
+ * The Kubernetes resource Namespace to match for.
32182
+ */
32183
+ namespace: string;
32184
+ }
32185
+ export interface GetApplicationSpecInfo {
32186
+ /**
32187
+ * Name of the information.
32188
+ */
32189
+ name: string;
32190
+ /**
32191
+ * Value of the information.
32192
+ */
32193
+ value: string;
32194
+ }
32195
+ export interface GetApplicationSpecSource {
32196
+ /**
32197
+ * Helm chart name. Must be specified for applications sourced from a Helm repo.
32198
+ */
32199
+ chart: string;
32200
+ /**
32201
+ * Path/directory specific options.
32202
+ */
32203
+ directory: outputs.GetApplicationSpecSourceDirectory;
32204
+ /**
32205
+ * Helm specific options.
32206
+ */
32207
+ helm: outputs.GetApplicationSpecSourceHelm;
32208
+ /**
32209
+ * Kustomize specific options.
32210
+ */
32211
+ kustomize: outputs.GetApplicationSpecSourceKustomize;
32212
+ /**
32213
+ * Name is used to refer to a source and is displayed in the UI. It is supported in multi-source Applications since version 2.14
32214
+ */
32215
+ name: string;
32216
+ /**
32217
+ * Directory path within the repository. Only valid for applications sourced from Git.
32218
+ */
32219
+ path: string;
32220
+ /**
32221
+ * Config management plugin specific options.
32222
+ */
32223
+ plugin: outputs.GetApplicationSpecSourcePlugin;
32224
+ /**
32225
+ * Reference to another `source` within defined sources. See associated documentation on [Helm value files from external Git repository](https://argo-cd.readthedocs.io/en/stable/user-guide/multiple_sources/#helm-value-files-from-external-git-repository) regarding combining `ref` with `path` and/or `chart`.
32226
+ */
32227
+ ref: string;
32228
+ /**
32229
+ * URL to the repository (Git or Helm) that contains the application manifests.
32230
+ */
32231
+ repoUrl: string;
32232
+ /**
32233
+ * Revision of the source to sync the application to. In case of Git, this can be commit, tag, or branch. If omitted, will equal to HEAD. In case of Helm, this is a semver tag for the Chart's version.
32234
+ */
32235
+ targetRevision: string;
32236
+ }
32237
+ export interface GetApplicationSpecSourceDirectory {
32238
+ /**
32239
+ * Glob pattern to match paths against that should be explicitly excluded from being used during manifest generation. This takes precedence over the `include` field. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{config.yaml,env-use2/*}'
32240
+ */
32241
+ exclude: string;
32242
+ /**
32243
+ * Glob pattern to match paths against that should be explicitly included during manifest generation. If this field is set, only matching manifests will be included. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{*.yml,*.yaml}'
32244
+ */
32245
+ include: string;
32246
+ /**
32247
+ * Jsonnet specific options.
32248
+ */
32249
+ jsonnet: outputs.GetApplicationSpecSourceDirectoryJsonnet;
32250
+ /**
32251
+ * Whether to scan a directory recursively for manifests.
32252
+ */
32253
+ recurse: boolean;
32254
+ }
32255
+ export interface GetApplicationSpecSourceDirectoryJsonnet {
32256
+ /**
32257
+ * List of Jsonnet External Variables.
32258
+ */
32259
+ extVars: outputs.GetApplicationSpecSourceDirectoryJsonnetExtVar[];
32260
+ /**
32261
+ * Additional library search dirs.
32262
+ */
32263
+ libs: string[];
32264
+ /**
32265
+ * List of Jsonnet Top-level Arguments
32266
+ */
32267
+ tlas: outputs.GetApplicationSpecSourceDirectoryJsonnetTla[];
32268
+ }
32269
+ export interface GetApplicationSpecSourceDirectoryJsonnetExtVar {
32270
+ /**
32271
+ * Determines whether the variable should be evaluated as jsonnet code or treated as string.
32272
+ */
32273
+ code: boolean;
32274
+ /**
32275
+ * Name of Jsonnet variable.
32276
+ */
32277
+ name: string;
32278
+ /**
32279
+ * Value of Jsonnet variable.
32280
+ */
32281
+ value: string;
32282
+ }
32283
+ export interface GetApplicationSpecSourceDirectoryJsonnetTla {
32284
+ /**
32285
+ * Determines whether the variable should be evaluated as jsonnet code or treated as string.
32286
+ */
32287
+ code: boolean;
32288
+ /**
32289
+ * Name of Jsonnet variable.
32290
+ */
32291
+ name: string;
32292
+ /**
32293
+ * Value of Jsonnet variable.
32294
+ */
32295
+ value: string;
32296
+ }
32297
+ export interface GetApplicationSpecSourceHelm {
32298
+ /**
32299
+ * File parameters for the helm template.
32300
+ */
32301
+ fileParameters: outputs.GetApplicationSpecSourceHelmFileParameter[];
32302
+ /**
32303
+ * Prevents 'helm template' from failing when `valueFiles` do not exist locally by not appending them to 'helm template --values'.
32304
+ */
32305
+ ignoreMissingValueFiles: boolean;
32306
+ /**
32307
+ * Helm parameters which are passed to the helm template command upon manifest generation.
32308
+ */
32309
+ parameters: outputs.GetApplicationSpecSourceHelmParameter[];
32310
+ /**
32311
+ * If true then adds '--pass-credentials' to Helm commands to pass credentials to all domains.
32312
+ */
32313
+ passCredentials: boolean;
32314
+ /**
32315
+ * Helm release name. If omitted it will use the application name.
32316
+ */
32317
+ releaseName: string;
32318
+ /**
32319
+ * Whether to skip custom resource definition installation step (Helm's [--skip-crds](https://helm.sh/docs/chart_best_practices/custom_resource_definitions/)).
32320
+ */
32321
+ skipCrds: boolean;
32322
+ /**
32323
+ * Whether to skip the schema validation step (Helm's [--skip-schema-validation](https://helm.sh/docs/helm/helm_template/)).
32324
+ */
32325
+ skipSchemaValidation: boolean;
32326
+ /**
32327
+ * List of Helm value files to use when generating a template.
32328
+ */
32329
+ valueFiles: string[];
32330
+ /**
32331
+ * Helm values to be passed to 'helm template', typically defined as a Attribute.
32332
+ */
32333
+ values: string;
32334
+ }
32335
+ export interface GetApplicationSpecSourceHelmFileParameter {
32336
+ /**
32337
+ * Name of the Helm parameters.
32338
+ */
32339
+ name: string;
32340
+ /**
32341
+ * Path to the file containing the values for the Helm parameters.
32342
+ */
32343
+ path: string;
32344
+ }
32345
+ export interface GetApplicationSpecSourceHelmParameter {
32346
+ /**
32347
+ * Determines whether to tell Helm to interpret booleans and numbers as strings.
32348
+ */
32349
+ forceString: boolean;
32350
+ /**
32351
+ * Name of the Helm parameters.
32352
+ */
32353
+ name: string;
32354
+ /**
32355
+ * Value of the Helm parameters.
32356
+ */
32357
+ value: string;
32358
+ }
32359
+ export interface GetApplicationSpecSourceKustomize {
32360
+ /**
32361
+ * List of additional annotations to add to rendered manifests.
32362
+ */
32363
+ commonAnnotations: {
32364
+ [key: string]: string;
32365
+ };
32366
+ /**
32367
+ * List of additional labels to add to rendered manifests.
32368
+ */
32369
+ commonLabels: {
32370
+ [key: string]: string;
32371
+ };
32372
+ /**
32373
+ * List of Kustomize image override specifications.
32374
+ */
32375
+ images: string[];
32376
+ /**
32377
+ * Prefix appended to resources for Kustomize apps.
32378
+ */
32379
+ namePrefix: string;
32380
+ /**
32381
+ * Suffix appended to resources for Kustomize apps.
32382
+ */
32383
+ nameSuffix: string;
32384
+ /**
32385
+ * Version of Kustomize to use for rendering manifests.
32386
+ */
32387
+ version: string;
32388
+ }
32389
+ export interface GetApplicationSpecSourcePlugin {
32390
+ /**
32391
+ * Environment variables passed to the plugin.
32392
+ */
32393
+ envs: outputs.GetApplicationSpecSourcePluginEnv[];
32394
+ /**
32395
+ * Name of the plugin. Only set the plugin name if the plugin is defined in `argocd-cm`. If the plugin is defined as a sidecar, omit the name. The plugin will be automatically matched with the Application according to the plugin's discovery rules.
32396
+ */
32397
+ name: string;
32398
+ /**
32399
+ * Parameters to supply to config management plugin.
32400
+ */
32401
+ parameters: outputs.GetApplicationSpecSourcePluginParameter[];
32402
+ }
32403
+ export interface GetApplicationSpecSourcePluginEnv {
32404
+ /**
32405
+ * Name of the environment variable.
32406
+ */
32407
+ name: string;
32408
+ /**
32409
+ * Value of the environment variable.
32410
+ */
32411
+ value: string;
32412
+ }
32413
+ export interface GetApplicationSpecSourcePluginParameter {
32414
+ /**
32415
+ * Value of an array type parameters.
32416
+ */
32417
+ arrays: string[];
32418
+ /**
32419
+ * Value of a map type parameters.
32420
+ */
32421
+ map: {
32422
+ [key: string]: string;
32423
+ };
32424
+ /**
32425
+ * Name identifying a parameters.
32426
+ */
32427
+ name: string;
32428
+ /**
32429
+ * Value of a string type parameters.
32430
+ */
32431
+ string: string;
32432
+ }
32433
+ export interface GetApplicationSpecSyncPolicy {
32434
+ /**
32435
+ * Whether to automatically keep an application synced to the target revision.
32436
+ */
32437
+ automated: outputs.GetApplicationSpecSyncPolicyAutomated;
32438
+ /**
32439
+ * Controls failed sync retry behavior.
32440
+ */
32441
+ retry: outputs.GetApplicationSpecSyncPolicyRetry;
32442
+ /**
32443
+ * List of sync options. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/sync-options/.
32444
+ */
32445
+ syncOptions: string[];
32446
+ }
32447
+ export interface GetApplicationSpecSyncPolicyAutomated {
32448
+ /**
32449
+ * Allows apps have zero live resources.
32450
+ */
32451
+ allowEmpty: boolean;
32452
+ /**
32453
+ * Whether to delete resources from the cluster that are not found in the sources anymore as part of automated sync.
32454
+ */
32455
+ prune: boolean;
32456
+ /**
32457
+ * Whether to revert resources back to their desired state upon modification in the cluster.
32458
+ */
32459
+ selfHeal: boolean;
32460
+ }
32461
+ export interface GetApplicationSpecSyncPolicyRetry {
32462
+ /**
32463
+ * Controls how to backoff on subsequent retries of failed syncs.
32464
+ */
32465
+ backoff: outputs.GetApplicationSpecSyncPolicyRetryBackoff;
32466
+ /**
32467
+ * Maximum number of attempts for retrying a failed sync. If set to 0, no retries will be performed.
32468
+ */
32469
+ limit: number;
32470
+ }
32471
+ export interface GetApplicationSpecSyncPolicyRetryBackoff {
32472
+ /**
32473
+ * Duration is the amount to back off. Default unit is seconds, but could also be a duration (e.g. `2m`, `1h`), as a string.
32474
+ */
32475
+ duration: string;
32476
+ /**
32477
+ * Factor to multiply the base duration after each failed retry.
32478
+ */
32479
+ factor: number;
32480
+ /**
32481
+ * Maximum amount of time allowed for the backoff strategy. Default unit is seconds, but could also be a duration (e.g. `2m`, `1h`), as a string.
32482
+ */
32483
+ maxDuration: string;
32484
+ }
32485
+ export interface GetApplicationStatus {
32486
+ /**
32487
+ * List of currently observed application conditions.
32488
+ */
32489
+ conditions: outputs.GetApplicationStatusCondition[];
32490
+ /**
32491
+ * Application's current health status.
32492
+ */
32493
+ health: outputs.GetApplicationStatusHealth;
32494
+ /**
32495
+ * Information about any ongoing operations, such as a sync.
32496
+ */
32497
+ operationState: outputs.GetApplicationStatusOperationState;
32498
+ /**
32499
+ * When the application state was reconciled using the latest git version.
32500
+ */
32501
+ reconciledAt: string;
32502
+ /**
32503
+ * List of Kubernetes resources managed by this application.
32504
+ */
32505
+ resources: outputs.GetApplicationStatusResource[];
32506
+ /**
32507
+ * List of URLs and container images used by this application.
32508
+ */
32509
+ summary: outputs.GetApplicationStatusSummary;
32510
+ /**
32511
+ * Application's current sync status
32512
+ */
32513
+ sync: outputs.GetApplicationStatusSync;
32514
+ }
32515
+ export interface GetApplicationStatusCondition {
32516
+ /**
32517
+ * The time the condition was last observed.
32518
+ */
32519
+ lastTransitionTime: string;
32520
+ /**
32521
+ * Human-readable message indicating details about condition.
32522
+ */
32523
+ message: string;
32524
+ /**
32525
+ * Application condition type.
32526
+ */
32527
+ type: string;
32528
+ }
32529
+ export interface GetApplicationStatusHealth {
32530
+ /**
32531
+ * Human-readable informational message describing the health status.
32532
+ */
32533
+ message: string;
32534
+ /**
32535
+ * Status code of the application or resource.
32536
+ */
32537
+ status: string;
32538
+ }
32539
+ export interface GetApplicationStatusOperationState {
32540
+ /**
32541
+ * Time of operation completion.
32542
+ */
32543
+ finishedAt: string;
32544
+ /**
32545
+ * Any pertinent messages when attempting to perform operation (typically errors).
32546
+ */
32547
+ message: string;
32548
+ /**
32549
+ * The current phase of the operation.
32550
+ */
32551
+ phase: string;
32552
+ /**
32553
+ * Count of operation retries.
32554
+ */
32555
+ retryCount: number;
32556
+ /**
32557
+ * Time of operation start.
32558
+ */
32559
+ startedAt: string;
32560
+ }
32561
+ export interface GetApplicationStatusResource {
32562
+ /**
32563
+ * The Kubernetes resource Group.
32564
+ */
32565
+ group: string;
32566
+ /**
32567
+ * Resource health status.
32568
+ */
32569
+ health: outputs.GetApplicationStatusResourceHealth;
32570
+ /**
32571
+ * Indicates whether or not this resource has a hook annotation.
32572
+ */
32573
+ hook: boolean;
32574
+ /**
32575
+ * The Kubernetes resource Kind.
32576
+ */
32577
+ kind: string;
32578
+ /**
32579
+ * The Kubernetes resource Name.
32580
+ */
32581
+ name: string;
32582
+ /**
32583
+ * The Kubernetes resource Namespace.
32584
+ */
32585
+ namespace: string;
32586
+ /**
32587
+ * Indicates if the resources requires pruning or not.
32588
+ */
32589
+ requiresPruning: boolean;
32590
+ /**
32591
+ * Resource sync status.
32592
+ */
32593
+ status: string;
32594
+ /**
32595
+ * Sync wave.
32596
+ */
32597
+ syncWave: number;
32598
+ /**
32599
+ * The Kubernetes resource Version.
32600
+ */
32601
+ version: string;
32602
+ }
32603
+ export interface GetApplicationStatusResourceHealth {
32604
+ /**
32605
+ * Human-readable informational message describing the health status.
32606
+ */
32607
+ message: string;
32608
+ /**
32609
+ * Status code of the application or resource.
32610
+ */
32611
+ status: string;
32612
+ }
32613
+ export interface GetApplicationStatusSummary {
32614
+ /**
32615
+ * All external URLs of application child resources.
32616
+ */
32617
+ externalUrls: string[];
32618
+ /**
32619
+ * All images of application child resources.
32620
+ */
32621
+ images: string[];
32622
+ }
32623
+ export interface GetApplicationStatusSync {
32624
+ /**
32625
+ * Information about the revision(s) the comparison has been performed to.
32626
+ */
32627
+ revisions: string[];
32628
+ /**
32629
+ * Sync state of the comparison.
32630
+ */
32631
+ status: string;
32632
+ }
32633
+ export interface ProjectMetadata {
32634
+ /**
32635
+ * An unstructured key value map stored with the appproject that may be used to store arbitrary metadata. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
32636
+ */
32637
+ annotations?: {
32638
+ [key: string]: string;
32639
+ };
32640
+ /**
32641
+ * A sequence number representing a specific generation of the desired state.
32642
+ */
32643
+ generation: number;
32644
+ /**
32645
+ * Map of string keys and values that can be used to organize and categorize (scope and select) the appproject. May match selectors of replication controllers and services. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels
32646
+ */
32647
+ labels?: {
32648
+ [key: string]: string;
32649
+ };
32650
+ /**
32651
+ * Name of the appproject, must be unique. Cannot be updated. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
32652
+ */
32653
+ name: string;
32654
+ /**
32655
+ * Namespace of the appproject, must be unique. Cannot be updated. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
32656
+ */
32657
+ namespace: string;
32658
+ /**
32659
+ * An opaque value that represents the internal version of this appproject that can be used by clients to determine when the appproject has changed. Read more: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency
32660
+ */
32661
+ resourceVersion: string;
32662
+ /**
32663
+ * The unique in time and space value for this appproject. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids
32664
+ */
32665
+ uid: string;
32666
+ }
32667
+ export interface ProjectSpec {
32668
+ /**
32669
+ * Blacklisted cluster level resources.
32670
+ */
32671
+ clusterResourceBlacklists?: outputs.ProjectSpecClusterResourceBlacklist[];
32672
+ /**
32673
+ * Whitelisted cluster level resources.
32674
+ */
32675
+ clusterResourceWhitelists?: outputs.ProjectSpecClusterResourceWhitelist[];
32676
+ /**
32677
+ * Project description.
32678
+ */
32679
+ description?: string;
32680
+ /**
32681
+ * Service accounts to be impersonated for the application sync operation for each destination.
32682
+ */
32683
+ destinationServiceAccounts?: outputs.ProjectSpecDestinationServiceAccount[];
32684
+ /**
32685
+ * Destinations available for deployment.
32686
+ */
32687
+ destinations?: outputs.ProjectSpecDestination[];
32688
+ /**
32689
+ * Blacklisted namespace level resources.
32690
+ */
32691
+ namespaceResourceBlacklists?: outputs.ProjectSpecNamespaceResourceBlacklist[];
32692
+ /**
32693
+ * Whitelisted namespace level resources.
32694
+ */
32695
+ namespaceResourceWhitelists?: outputs.ProjectSpecNamespaceResourceWhitelist[];
32696
+ /**
32697
+ * Configuration for orphaned resources tracking.
32698
+ */
32699
+ orphanedResources?: outputs.ProjectSpecOrphanedResource[];
32700
+ /**
32701
+ * Project roles.
32702
+ */
32703
+ roles?: outputs.ProjectSpecRole[];
32704
+ /**
32705
+ * Signature keys for verifying the integrity of applications.
32706
+ */
32707
+ signatureKeys?: string[];
32708
+ /**
32709
+ * List of source namespaces for applications.
32710
+ */
32711
+ sourceNamespaces?: string[];
32712
+ /**
32713
+ * List of repositories from which applications may be created.
32714
+ */
32715
+ sourceRepos?: string[];
32716
+ /**
32717
+ * Controls when sync operations are allowed for the project.
32718
+ */
32719
+ syncWindows?: outputs.ProjectSpecSyncWindow[];
32720
+ }
32721
+ export interface ProjectSpecClusterResourceBlacklist {
32722
+ /**
32723
+ * The Kubernetes resource Group to match for.
32724
+ */
32725
+ group?: string;
32726
+ /**
32727
+ * The Kubernetes resource Kind to match for.
32728
+ */
32729
+ kind?: string;
32730
+ }
32731
+ export interface ProjectSpecClusterResourceWhitelist {
32732
+ /**
32733
+ * The Kubernetes resource Group to match for.
32734
+ */
32735
+ group?: string;
32736
+ /**
32737
+ * The Kubernetes resource Kind to match for.
32738
+ */
32739
+ kind?: string;
32740
+ }
32741
+ export interface ProjectSpecDestination {
32742
+ /**
32743
+ * Name of the destination cluster which can be used instead of server.
32744
+ */
32745
+ name?: string;
32746
+ /**
32747
+ * Target namespace for applications' resources.
32748
+ */
32749
+ namespace: string;
32750
+ /**
32751
+ * URL of the target cluster and must be set to the Kubernetes control plane API.
32752
+ */
32753
+ server?: string;
32754
+ }
32755
+ export interface ProjectSpecDestinationServiceAccount {
32756
+ /**
32757
+ * Used for impersonation during the sync operation
32758
+ */
32759
+ defaultServiceAccount: string;
32760
+ /**
32761
+ * Specifies the target namespace for the application's resources.
32762
+ */
32763
+ namespace?: string;
32764
+ /**
32765
+ * Specifies the URL of the target cluster's Kubernetes control plane API.
32766
+ */
32767
+ server?: string;
32768
+ }
32769
+ export interface ProjectSpecNamespaceResourceBlacklist {
32770
+ /**
32771
+ * The Kubernetes resource Group to match for.
32772
+ */
32773
+ group?: string;
32774
+ /**
32775
+ * The Kubernetes resource Kind to match for.
32776
+ */
32777
+ kind?: string;
32778
+ }
32779
+ export interface ProjectSpecNamespaceResourceWhitelist {
32780
+ /**
32781
+ * The Kubernetes resource Group to match for.
32782
+ */
32783
+ group?: string;
32784
+ /**
32785
+ * The Kubernetes resource Kind to match for.
32786
+ */
32787
+ kind?: string;
32788
+ }
32789
+ export interface ProjectSpecOrphanedResource {
32790
+ /**
32791
+ * List of resources to ignore during orphaned resources detection.
32792
+ */
32793
+ ignores?: outputs.ProjectSpecOrphanedResourceIgnore[];
32794
+ /**
32795
+ * Whether a warning condition should be created for apps which have orphaned resources.
32796
+ */
32797
+ warn?: boolean;
32798
+ }
32799
+ export interface ProjectSpecOrphanedResourceIgnore {
32800
+ /**
32801
+ * The Kubernetes resource Group to match for.
32802
+ */
32803
+ group?: string;
32804
+ /**
32805
+ * The Kubernetes resource Kind to match for.
32806
+ */
32807
+ kind?: string;
32808
+ /**
32809
+ * The Kubernetes resource name to match for.
32810
+ */
32811
+ name?: string;
32812
+ }
32813
+ export interface ProjectSpecRole {
32814
+ /**
32815
+ * Description of the role.
32816
+ */
32817
+ description?: string;
32818
+ /**
32819
+ * List of OIDC group claims bound to this role.
32820
+ */
32821
+ groups?: string[];
32822
+ /**
32823
+ * List of JWT tokens issued for this role.
32824
+ */
32825
+ jwtTokens?: outputs.ProjectSpecRoleJwtToken[];
32826
+ /**
32827
+ * The name of the role.
32828
+ */
32829
+ name: string;
32830
+ /**
32831
+ * List of casbin formatted strings that define access policies for the role in the project. For more information, see the [ArgoCD RBAC reference](https://argoproj.github.io/argo-cd/operator-manual/rbac/#rbac-permission-structure).
32832
+ */
32833
+ policies: string[];
32834
+ }
32835
+ export interface ProjectSpecRoleJwtToken {
32836
+ /**
32837
+ * Token expiration (timestamp).
32838
+ */
32839
+ exp?: number;
32840
+ /**
32841
+ * Token issued at (timestamp).
32842
+ */
32843
+ iat: number;
32844
+ /**
32845
+ * Token identifier.
32846
+ */
32847
+ id?: string;
32848
+ }
32849
+ export interface ProjectSpecSyncWindow {
32850
+ /**
32851
+ * List of applications that the window will apply to.
32852
+ */
32853
+ applications?: string[];
32854
+ /**
32855
+ * List of clusters that the window will apply to.
32856
+ */
32857
+ clusters?: string[];
32858
+ /**
32859
+ * Amount of time the sync window will be open.
32860
+ */
32861
+ duration?: string;
32862
+ /**
32863
+ * Defines if the window allows or blocks syncs, allowed values are `allow` or `deny`.
32864
+ */
32865
+ kind?: string;
32866
+ /**
32867
+ * Enables manual syncs when they would otherwise be blocked.
32868
+ */
32869
+ manualSync?: boolean;
32870
+ /**
32871
+ * List of namespaces that the window will apply to.
32872
+ */
32873
+ namespaces?: string[];
32874
+ /**
32875
+ * Time the window will begin, specified in cron format.
32876
+ */
32877
+ schedule?: string;
32878
+ /**
32879
+ * Timezone that the schedule will be evaluated in.
32880
+ */
32881
+ timezone: string;
32882
+ /**
32883
+ * Defines if the AND operator should be used among the various conditions for the sync window.
32884
+ */
32885
+ useAndOperator?: boolean;
32886
+ }
32887
+ export interface RepositoryCertificateHttp {
32888
+ /**
32889
+ * The actual certificate data, dependent on the certificate type
32890
+ */
32891
+ certData: string;
32892
+ /**
32893
+ * Additional certificate info, dependent on the certificate type (e.g. SSH fingerprint, X509 CommonName)
32894
+ */
32895
+ certInfo: string;
32896
+ /**
32897
+ * The sub type of the cert, i.e. `ssh-rsa`
32898
+ */
32899
+ certSubtype: string;
32900
+ /**
32901
+ * DNS name of the server this certificate is intended for
32902
+ */
32903
+ serverName: string;
32904
+ }
32905
+ export interface RepositoryCertificateSsh {
32906
+ /**
32907
+ * The actual certificate data, dependent on the certificate type
32908
+ */
32909
+ certData: string;
32910
+ /**
32911
+ * Additional certificate info, dependent on the certificate type (e.g. SSH fingerprint, X509 CommonName)
32912
+ */
32913
+ certInfo: string;
32914
+ /**
32915
+ * The sub type of the cert, i.e. `ssh-rsa`
32916
+ */
32917
+ certSubtype: string;
32918
+ /**
32919
+ * DNS name of the server this certificate is intended for
32920
+ */
32921
+ serverName: string;
32922
+ }
32081
32923
  export declare namespace config {
32082
32924
  interface Kubernetes {
32083
32925
  /**