google-apis-apigee_v1 0.74.0 → 0.76.0

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.
@@ -284,6 +284,11 @@ module Google
284
284
  # @return [Google::Apis::ApigeeV1::GoogleCloudApigeeV1AdvancedApiOpsConfig]
285
285
  attr_accessor :advanced_api_ops_config
286
286
 
287
+ # Configuration for the Analytics add-on.
288
+ # Corresponds to the JSON property `analyticsConfig`
289
+ # @return [Google::Apis::ApigeeV1::GoogleCloudApigeeV1AnalyticsConfig]
290
+ attr_accessor :analytics_config
291
+
287
292
  # Configurations of the API Security add-on.
288
293
  # Corresponds to the JSON property `apiSecurityConfig`
289
294
  # @return [Google::Apis::ApigeeV1::GoogleCloudApigeeV1ApiSecurityConfig]
@@ -311,6 +316,7 @@ module Google
311
316
  # Update properties of this object
312
317
  def update!(**args)
313
318
  @advanced_api_ops_config = args[:advanced_api_ops_config] if args.key?(:advanced_api_ops_config)
319
+ @analytics_config = args[:analytics_config] if args.key?(:analytics_config)
314
320
  @api_security_config = args[:api_security_config] if args.key?(:api_security_config)
315
321
  @connectors_platform_config = args[:connectors_platform_config] if args.key?(:connectors_platform_config)
316
322
  @integration_config = args[:integration_config] if args.key?(:integration_config)
@@ -422,6 +428,45 @@ module Google
422
428
  end
423
429
  end
424
430
 
431
+ # Configuration for the Analytics add-on.
432
+ class GoogleCloudApigeeV1AnalyticsConfig
433
+ include Google::Apis::Core::Hashable
434
+
435
+ # Whether the Analytics add-on is enabled.
436
+ # Corresponds to the JSON property `enabled`
437
+ # @return [Boolean]
438
+ attr_accessor :enabled
439
+ alias_method :enabled?, :enabled
440
+
441
+ # Output only. Time at which the Analytics add-on expires in milliseconds since
442
+ # epoch. If unspecified, the add-on will never expire.
443
+ # Corresponds to the JSON property `expireTimeMillis`
444
+ # @return [Fixnum]
445
+ attr_accessor :expire_time_millis
446
+
447
+ # Output only. The state of the Analytics add-on.
448
+ # Corresponds to the JSON property `state`
449
+ # @return [String]
450
+ attr_accessor :state
451
+
452
+ # Output only. The latest update time.
453
+ # Corresponds to the JSON property `updateTime`
454
+ # @return [String]
455
+ attr_accessor :update_time
456
+
457
+ def initialize(**args)
458
+ update!(**args)
459
+ end
460
+
461
+ # Update properties of this object
462
+ def update!(**args)
463
+ @enabled = args[:enabled] if args.key?(:enabled)
464
+ @expire_time_millis = args[:expire_time_millis] if args.key?(:expire_time_millis)
465
+ @state = args[:state] if args.key?(:state)
466
+ @update_time = args[:update_time] if args.key?(:update_time)
467
+ end
468
+ end
469
+
425
470
  # the Api category resource wrapped with response status, error_code etc.
426
471
  class GoogleCloudApigeeV1ApiCategory
427
472
  include Google::Apis::Core::Hashable
@@ -3505,6 +3550,32 @@ module Google
3505
3550
  end
3506
3551
  end
3507
3552
 
3553
+ # Message to disable an enabled SecurityAction.
3554
+ class GoogleCloudApigeeV1DisableSecurityActionRequest
3555
+ include Google::Apis::Core::Hashable
3556
+
3557
+ def initialize(**args)
3558
+ update!(**args)
3559
+ end
3560
+
3561
+ # Update properties of this object
3562
+ def update!(**args)
3563
+ end
3564
+ end
3565
+
3566
+ # Message to enable a disabled SecurityAction.
3567
+ class GoogleCloudApigeeV1EnableSecurityActionRequest
3568
+ include Google::Apis::Core::Hashable
3569
+
3570
+ def initialize(**args)
3571
+ update!(**args)
3572
+ end
3573
+
3574
+ # Update properties of this object
3575
+ def update!(**args)
3576
+ end
3577
+ end
3578
+
3508
3579
  # Apigee endpoint attachment. For more information, see [Southbound networking
3509
3580
  # patterns] (https://cloud.google.com/apigee/docs/api-platform/architecture/
3510
3581
  # southbound-networking-patterns-endpoints).
@@ -3729,6 +3800,12 @@ module Google
3729
3800
  class GoogleCloudApigeeV1EnvironmentConfig
3730
3801
  include Google::Apis::Core::Hashable
3731
3802
 
3803
+ # RuntimeAddonsConfig defines the runtime configurations for add-ons in an
3804
+ # environment.
3805
+ # Corresponds to the JSON property `addonsConfig`
3806
+ # @return [Google::Apis::ApigeeV1::GoogleCloudApigeeV1RuntimeAddonsConfig]
3807
+ attr_accessor :addons_config
3808
+
3732
3809
  # The location for the config blob of API Runtime Control, aka Envoy Adapter,
3733
3810
  # for op-based authentication as a URI, e.g. a Cloud Storage URI. This is only
3734
3811
  # used by Envoy-based gateways.
@@ -3858,6 +3935,7 @@ module Google
3858
3935
 
3859
3936
  # Update properties of this object
3860
3937
  def update!(**args)
3938
+ @addons_config = args[:addons_config] if args.key?(:addons_config)
3861
3939
  @arc_config_location = args[:arc_config_location] if args.key?(:arc_config_location)
3862
3940
  @create_time = args[:create_time] if args.key?(:create_time)
3863
3941
  @data_collectors = args[:data_collectors] if args.key?(:data_collectors)
@@ -5700,6 +5778,32 @@ module Google
5700
5778
  end
5701
5779
  end
5702
5780
 
5781
+ # Contains a list of SecurityActions in response to a ListSecurityActionRequest.
5782
+ class GoogleCloudApigeeV1ListSecurityActionsResponse
5783
+ include Google::Apis::Core::Hashable
5784
+
5785
+ # A token, which can be sent as `page_token` to retrieve the next page. If this
5786
+ # field is omitted, there are no subsequent pages.
5787
+ # Corresponds to the JSON property `nextPageToken`
5788
+ # @return [String]
5789
+ attr_accessor :next_page_token
5790
+
5791
+ # The SecurityActions for the specified environment.
5792
+ # Corresponds to the JSON property `securityActions`
5793
+ # @return [Array<Google::Apis::ApigeeV1::GoogleCloudApigeeV1SecurityAction>]
5794
+ attr_accessor :security_actions
5795
+
5796
+ def initialize(**args)
5797
+ update!(**args)
5798
+ end
5799
+
5800
+ # Update properties of this object
5801
+ def update!(**args)
5802
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
5803
+ @security_actions = args[:security_actions] if args.key?(:security_actions)
5804
+ end
5805
+ end
5806
+
5703
5807
  # Response for ListSecurityIncidents.
5704
5808
  class GoogleCloudApigeeV1ListSecurityIncidentsResponse
5705
5809
  include Google::Apis::Core::Hashable
@@ -6483,6 +6587,11 @@ module Google
6483
6587
  # @return [String]
6484
6588
  attr_accessor :state
6485
6589
 
6590
+ # Output only. Subscription plan that the customer has purchased. Output only.
6591
+ # Corresponds to the JSON property `subscriptionPlan`
6592
+ # @return [String]
6593
+ attr_accessor :subscription_plan
6594
+
6486
6595
  # Output only. DEPRECATED: This will eventually be replaced by BillingType.
6487
6596
  # Subscription type of the Apigee organization. Valid values include trial (free,
6488
6597
  # limited, and for evaluation purposes only) or paid (full subscription has
@@ -6528,6 +6637,7 @@ module Google
6528
6637
  @runtime_database_encryption_key_name = args[:runtime_database_encryption_key_name] if args.key?(:runtime_database_encryption_key_name)
6529
6638
  @runtime_type = args[:runtime_type] if args.key?(:runtime_type)
6530
6639
  @state = args[:state] if args.key?(:state)
6640
+ @subscription_plan = args[:subscription_plan] if args.key?(:subscription_plan)
6531
6641
  @subscription_type = args[:subscription_type] if args.key?(:subscription_type)
6532
6642
  @type = args[:type] if args.key?(:type)
6533
6643
  end
@@ -6675,6 +6785,164 @@ module Google
6675
6785
  end
6676
6786
  end
6677
6787
 
6788
+ # ProfileConfig defines a set of categories and policies which will be used to
6789
+ # compute security score.
6790
+ class GoogleCloudApigeeV1ProfileConfig
6791
+ include Google::Apis::Core::Hashable
6792
+
6793
+ # List of categories of profile config.
6794
+ # Corresponds to the JSON property `categories`
6795
+ # @return [Array<Google::Apis::ApigeeV1::GoogleCloudApigeeV1ProfileConfigCategory>]
6796
+ attr_accessor :categories
6797
+
6798
+ def initialize(**args)
6799
+ update!(**args)
6800
+ end
6801
+
6802
+ # Update properties of this object
6803
+ def update!(**args)
6804
+ @categories = args[:categories] if args.key?(:categories)
6805
+ end
6806
+ end
6807
+
6808
+ # Checks for abuse, which includes any requests sent to the API for purposes
6809
+ # other than what it is intended for, such as high volumes of requests, data
6810
+ # scraping, and abuse related to authorization.
6811
+ class GoogleCloudApigeeV1ProfileConfigAbuse
6812
+ include Google::Apis::Core::Hashable
6813
+
6814
+ def initialize(**args)
6815
+ update!(**args)
6816
+ end
6817
+
6818
+ # Update properties of this object
6819
+ def update!(**args)
6820
+ end
6821
+ end
6822
+
6823
+ # By default, following policies will be included: - JWS - JWT - OAuth -
6824
+ # BasicAuth - APIKey
6825
+ class GoogleCloudApigeeV1ProfileConfigAuthorization
6826
+ include Google::Apis::Core::Hashable
6827
+
6828
+ def initialize(**args)
6829
+ update!(**args)
6830
+ end
6831
+
6832
+ # Update properties of this object
6833
+ def update!(**args)
6834
+ end
6835
+ end
6836
+
6837
+ # Checks to see if you have CORS policy in place.
6838
+ class GoogleCloudApigeeV1ProfileConfigCors
6839
+ include Google::Apis::Core::Hashable
6840
+
6841
+ def initialize(**args)
6842
+ update!(**args)
6843
+ end
6844
+
6845
+ # Update properties of this object
6846
+ def update!(**args)
6847
+ end
6848
+ end
6849
+
6850
+ # Advanced API Security provides security profile that scores the following
6851
+ # categories.
6852
+ class GoogleCloudApigeeV1ProfileConfigCategory
6853
+ include Google::Apis::Core::Hashable
6854
+
6855
+ # Checks for abuse, which includes any requests sent to the API for purposes
6856
+ # other than what it is intended for, such as high volumes of requests, data
6857
+ # scraping, and abuse related to authorization.
6858
+ # Corresponds to the JSON property `abuse`
6859
+ # @return [Google::Apis::ApigeeV1::GoogleCloudApigeeV1ProfileConfigAbuse]
6860
+ attr_accessor :abuse
6861
+
6862
+ # By default, following policies will be included: - JWS - JWT - OAuth -
6863
+ # BasicAuth - APIKey
6864
+ # Corresponds to the JSON property `authorization`
6865
+ # @return [Google::Apis::ApigeeV1::GoogleCloudApigeeV1ProfileConfigAuthorization]
6866
+ attr_accessor :authorization
6867
+
6868
+ # Checks to see if you have CORS policy in place.
6869
+ # Corresponds to the JSON property `cors`
6870
+ # @return [Google::Apis::ApigeeV1::GoogleCloudApigeeV1ProfileConfigCors]
6871
+ attr_accessor :cors
6872
+
6873
+ # By default, following policies will be included: - OASValidation -
6874
+ # SOAPMessageValidation
6875
+ # Corresponds to the JSON property `mediation`
6876
+ # @return [Google::Apis::ApigeeV1::GoogleCloudApigeeV1ProfileConfigMediation]
6877
+ attr_accessor :mediation
6878
+
6879
+ # Checks to see if you have configured mTLS for the target server.
6880
+ # Corresponds to the JSON property `mtls`
6881
+ # @return [Google::Apis::ApigeeV1::GoogleCloudApigeeV1ProfileConfigMtls]
6882
+ attr_accessor :mtls
6883
+
6884
+ # By default, following policies will be included: - XMLThreatProtection -
6885
+ # JSONThreatProtection
6886
+ # Corresponds to the JSON property `threat`
6887
+ # @return [Google::Apis::ApigeeV1::GoogleCloudApigeeV1ProfileConfigThreat]
6888
+ attr_accessor :threat
6889
+
6890
+ def initialize(**args)
6891
+ update!(**args)
6892
+ end
6893
+
6894
+ # Update properties of this object
6895
+ def update!(**args)
6896
+ @abuse = args[:abuse] if args.key?(:abuse)
6897
+ @authorization = args[:authorization] if args.key?(:authorization)
6898
+ @cors = args[:cors] if args.key?(:cors)
6899
+ @mediation = args[:mediation] if args.key?(:mediation)
6900
+ @mtls = args[:mtls] if args.key?(:mtls)
6901
+ @threat = args[:threat] if args.key?(:threat)
6902
+ end
6903
+ end
6904
+
6905
+ # Checks to see if you have configured mTLS for the target server.
6906
+ class GoogleCloudApigeeV1ProfileConfigMtls
6907
+ include Google::Apis::Core::Hashable
6908
+
6909
+ def initialize(**args)
6910
+ update!(**args)
6911
+ end
6912
+
6913
+ # Update properties of this object
6914
+ def update!(**args)
6915
+ end
6916
+ end
6917
+
6918
+ # By default, following policies will be included: - OASValidation -
6919
+ # SOAPMessageValidation
6920
+ class GoogleCloudApigeeV1ProfileConfigMediation
6921
+ include Google::Apis::Core::Hashable
6922
+
6923
+ def initialize(**args)
6924
+ update!(**args)
6925
+ end
6926
+
6927
+ # Update properties of this object
6928
+ def update!(**args)
6929
+ end
6930
+ end
6931
+
6932
+ # By default, following policies will be included: - XMLThreatProtection -
6933
+ # JSONThreatProtection
6934
+ class GoogleCloudApigeeV1ProfileConfigThreat
6935
+ include Google::Apis::Core::Hashable
6936
+
6937
+ def initialize(**args)
6938
+ update!(**args)
6939
+ end
6940
+
6941
+ # Update properties of this object
6942
+ def update!(**args)
6943
+ end
6944
+ end
6945
+
6678
6946
  # Message for compatibility with legacy Edge specification for Java Properties
6679
6947
  # object in JSON.
6680
6948
  class GoogleCloudApigeeV1Properties
@@ -7895,6 +8163,100 @@ module Google
7895
8163
  end
7896
8164
  end
7897
8165
 
8166
+ # RuntimeAddonsConfig defines the runtime configurations for add-ons in an
8167
+ # environment.
8168
+ class GoogleCloudApigeeV1RuntimeAddonsConfig
8169
+ include Google::Apis::Core::Hashable
8170
+
8171
+ # Runtime configuration for the Analytics add-on.
8172
+ # Corresponds to the JSON property `analyticsConfig`
8173
+ # @return [Google::Apis::ApigeeV1::GoogleCloudApigeeV1RuntimeAnalyticsConfig]
8174
+ attr_accessor :analytics_config
8175
+
8176
+ # Runtime configuration for the API Security add-on.
8177
+ # Corresponds to the JSON property `apiSecurityConfig`
8178
+ # @return [Google::Apis::ApigeeV1::GoogleCloudApigeeV1RuntimeApiSecurityConfig]
8179
+ attr_accessor :api_security_config
8180
+
8181
+ # Name of the addons config in the format: `organizations/`org`/environments/`
8182
+ # env`/addonsConfig`
8183
+ # Corresponds to the JSON property `name`
8184
+ # @return [String]
8185
+ attr_accessor :name
8186
+
8187
+ # Revision number used by the runtime to detect config changes.
8188
+ # Corresponds to the JSON property `revisionId`
8189
+ # @return [String]
8190
+ attr_accessor :revision_id
8191
+
8192
+ # UID is to detect if config is recreated after deletion. The add-on config will
8193
+ # only be deleted when the environment itself gets deleted, thus it will always
8194
+ # be the same as the UID of EnvironmentConfig.
8195
+ # Corresponds to the JSON property `uid`
8196
+ # @return [String]
8197
+ attr_accessor :uid
8198
+
8199
+ def initialize(**args)
8200
+ update!(**args)
8201
+ end
8202
+
8203
+ # Update properties of this object
8204
+ def update!(**args)
8205
+ @analytics_config = args[:analytics_config] if args.key?(:analytics_config)
8206
+ @api_security_config = args[:api_security_config] if args.key?(:api_security_config)
8207
+ @name = args[:name] if args.key?(:name)
8208
+ @revision_id = args[:revision_id] if args.key?(:revision_id)
8209
+ @uid = args[:uid] if args.key?(:uid)
8210
+ end
8211
+ end
8212
+
8213
+ # Runtime configuration for the Analytics add-on.
8214
+ class GoogleCloudApigeeV1RuntimeAnalyticsConfig
8215
+ include Google::Apis::Core::Hashable
8216
+
8217
+ # If Runtime should send billing data to AX or not.
8218
+ # Corresponds to the JSON property `billingPipelineEnabled`
8219
+ # @return [Boolean]
8220
+ attr_accessor :billing_pipeline_enabled
8221
+ alias_method :billing_pipeline_enabled?, :billing_pipeline_enabled
8222
+
8223
+ # If the Analytics is enabled or not.
8224
+ # Corresponds to the JSON property `enabled`
8225
+ # @return [Boolean]
8226
+ attr_accessor :enabled
8227
+ alias_method :enabled?, :enabled
8228
+
8229
+ def initialize(**args)
8230
+ update!(**args)
8231
+ end
8232
+
8233
+ # Update properties of this object
8234
+ def update!(**args)
8235
+ @billing_pipeline_enabled = args[:billing_pipeline_enabled] if args.key?(:billing_pipeline_enabled)
8236
+ @enabled = args[:enabled] if args.key?(:enabled)
8237
+ end
8238
+ end
8239
+
8240
+ # Runtime configuration for the API Security add-on.
8241
+ class GoogleCloudApigeeV1RuntimeApiSecurityConfig
8242
+ include Google::Apis::Core::Hashable
8243
+
8244
+ # If the API Security is enabled or not.
8245
+ # Corresponds to the JSON property `enabled`
8246
+ # @return [Boolean]
8247
+ attr_accessor :enabled
8248
+ alias_method :enabled?, :enabled
8249
+
8250
+ def initialize(**args)
8251
+ update!(**args)
8252
+ end
8253
+
8254
+ # Update properties of this object
8255
+ def update!(**args)
8256
+ @enabled = args[:enabled] if args.key?(:enabled)
8257
+ end
8258
+ end
8259
+
7898
8260
  # Runtime configuration for the organization. Response for GetRuntimeConfig.
7899
8261
  class GoogleCloudApigeeV1RuntimeConfig
7900
8262
  include Google::Apis::Core::Hashable
@@ -8345,6 +8707,247 @@ module Google
8345
8707
  end
8346
8708
  end
8347
8709
 
8710
+ # A SecurityAction is rule that can be enforced at an environment level. The
8711
+ # result is one of: - A denied API call - An explicitly allowed API call - A
8712
+ # flagged API call (HTTP headers added before the target receives it) At least
8713
+ # one condition is required to create a SecurityAction.
8714
+ class GoogleCloudApigeeV1SecurityAction
8715
+ include Google::Apis::Core::Hashable
8716
+
8717
+ # Message that should be set in case of an Allow Action. This does not have any
8718
+ # fields.
8719
+ # Corresponds to the JSON property `allow`
8720
+ # @return [Google::Apis::ApigeeV1::GoogleCloudApigeeV1SecurityActionAllow]
8721
+ attr_accessor :allow
8722
+
8723
+ # The following are a list of conditions. A valid SecurityAction must contain at
8724
+ # least one condition. Within a condition, each element is ORed. Across
8725
+ # conditions elements are ANDed. For example if a SecurityAction has the
8726
+ # following: api_keys: ["key1", "key2"] and developers: ["dev1", "dev2"] then
8727
+ # this is interpreted as: enforce the action if the incoming request has ((
8728
+ # api_key = "key1" OR api_key="key") AND (developer="dev1" OR developer="dev2"))
8729
+ # Corresponds to the JSON property `conditionConfig`
8730
+ # @return [Google::Apis::ApigeeV1::GoogleCloudApigeeV1SecurityActionConditionConfig]
8731
+ attr_accessor :condition_config
8732
+
8733
+ # Output only. The create time for this SecurityAction.
8734
+ # Corresponds to the JSON property `createTime`
8735
+ # @return [String]
8736
+ attr_accessor :create_time
8737
+
8738
+ # Message that should be set in case of a Deny Action.
8739
+ # Corresponds to the JSON property `deny`
8740
+ # @return [Google::Apis::ApigeeV1::GoogleCloudApigeeV1SecurityActionDeny]
8741
+ attr_accessor :deny
8742
+
8743
+ # Optional. An optional user provided description of the SecurityAction.
8744
+ # Corresponds to the JSON property `description`
8745
+ # @return [String]
8746
+ attr_accessor :description
8747
+
8748
+ # The expiration for this SecurityAction.
8749
+ # Corresponds to the JSON property `expireTime`
8750
+ # @return [String]
8751
+ attr_accessor :expire_time
8752
+
8753
+ # The message that should be set in the case of a Flag action.
8754
+ # Corresponds to the JSON property `flag`
8755
+ # @return [Google::Apis::ApigeeV1::GoogleCloudApigeeV1SecurityActionFlag]
8756
+ attr_accessor :flag
8757
+
8758
+ # Immutable. This field is ignored during creation as per AIP-133. Please set
8759
+ # the `security_action_id` field in the CreateSecurityActionRequest when
8760
+ # creating a new SecurityAction. Format: organizations/`org`/environments/`env`/
8761
+ # securityActions/`security_action`
8762
+ # Corresponds to the JSON property `name`
8763
+ # @return [String]
8764
+ attr_accessor :name
8765
+
8766
+ # Required. Only an ENABLED SecurityAction is enforced. An ENABLED
8767
+ # SecurityAction past its expiration time will not be enforced.
8768
+ # Corresponds to the JSON property `state`
8769
+ # @return [String]
8770
+ attr_accessor :state
8771
+
8772
+ # Input only. The TTL for this SecurityAction.
8773
+ # Corresponds to the JSON property `ttl`
8774
+ # @return [String]
8775
+ attr_accessor :ttl
8776
+
8777
+ # Output only. The update time for this SecurityAction. This reflects when this
8778
+ # SecurityAction changed states.
8779
+ # Corresponds to the JSON property `updateTime`
8780
+ # @return [String]
8781
+ attr_accessor :update_time
8782
+
8783
+ def initialize(**args)
8784
+ update!(**args)
8785
+ end
8786
+
8787
+ # Update properties of this object
8788
+ def update!(**args)
8789
+ @allow = args[:allow] if args.key?(:allow)
8790
+ @condition_config = args[:condition_config] if args.key?(:condition_config)
8791
+ @create_time = args[:create_time] if args.key?(:create_time)
8792
+ @deny = args[:deny] if args.key?(:deny)
8793
+ @description = args[:description] if args.key?(:description)
8794
+ @expire_time = args[:expire_time] if args.key?(:expire_time)
8795
+ @flag = args[:flag] if args.key?(:flag)
8796
+ @name = args[:name] if args.key?(:name)
8797
+ @state = args[:state] if args.key?(:state)
8798
+ @ttl = args[:ttl] if args.key?(:ttl)
8799
+ @update_time = args[:update_time] if args.key?(:update_time)
8800
+ end
8801
+ end
8802
+
8803
+ # Message that should be set in case of an Allow Action. This does not have any
8804
+ # fields.
8805
+ class GoogleCloudApigeeV1SecurityActionAllow
8806
+ include Google::Apis::Core::Hashable
8807
+
8808
+ def initialize(**args)
8809
+ update!(**args)
8810
+ end
8811
+
8812
+ # Update properties of this object
8813
+ def update!(**args)
8814
+ end
8815
+ end
8816
+
8817
+ # The following are a list of conditions. A valid SecurityAction must contain at
8818
+ # least one condition. Within a condition, each element is ORed. Across
8819
+ # conditions elements are ANDed. For example if a SecurityAction has the
8820
+ # following: api_keys: ["key1", "key2"] and developers: ["dev1", "dev2"] then
8821
+ # this is interpreted as: enforce the action if the incoming request has ((
8822
+ # api_key = "key1" OR api_key="key") AND (developer="dev1" OR developer="dev2"))
8823
+ class GoogleCloudApigeeV1SecurityActionConditionConfig
8824
+ include Google::Apis::Core::Hashable
8825
+
8826
+ # Optional. A list of Bot Reasons. Current options: Flooder, Brute Guessor,
8827
+ # Static Content Scraper, OAuth Abuser, Robot Abuser, TorListRule, Advanced
8828
+ # Anomaly Detection and Advanced API Scraper.
8829
+ # Corresponds to the JSON property `botReasons`
8830
+ # @return [Array<String>]
8831
+ attr_accessor :bot_reasons
8832
+
8833
+ # Optional. A list of IP addresses. This could be either IPv4 or IPv6. Limited
8834
+ # to 100 per action.
8835
+ # Corresponds to the JSON property `ipAddressRanges`
8836
+ # @return [Array<String>]
8837
+ attr_accessor :ip_address_ranges
8838
+
8839
+ def initialize(**args)
8840
+ update!(**args)
8841
+ end
8842
+
8843
+ # Update properties of this object
8844
+ def update!(**args)
8845
+ @bot_reasons = args[:bot_reasons] if args.key?(:bot_reasons)
8846
+ @ip_address_ranges = args[:ip_address_ranges] if args.key?(:ip_address_ranges)
8847
+ end
8848
+ end
8849
+
8850
+ # Message that should be set in case of a Deny Action.
8851
+ class GoogleCloudApigeeV1SecurityActionDeny
8852
+ include Google::Apis::Core::Hashable
8853
+
8854
+ # Optional. The HTTP response code if the Action = DENY.
8855
+ # Corresponds to the JSON property `responseCode`
8856
+ # @return [Fixnum]
8857
+ attr_accessor :response_code
8858
+
8859
+ def initialize(**args)
8860
+ update!(**args)
8861
+ end
8862
+
8863
+ # Update properties of this object
8864
+ def update!(**args)
8865
+ @response_code = args[:response_code] if args.key?(:response_code)
8866
+ end
8867
+ end
8868
+
8869
+ # The message that should be set in the case of a Flag action.
8870
+ class GoogleCloudApigeeV1SecurityActionFlag
8871
+ include Google::Apis::Core::Hashable
8872
+
8873
+ # Optional. A list of HTTP headers to be sent to the target in case of a FLAG
8874
+ # SecurityAction. Limit 5 headers per SecurityAction. At least one is mandatory.
8875
+ # Corresponds to the JSON property `headers`
8876
+ # @return [Array<Google::Apis::ApigeeV1::GoogleCloudApigeeV1SecurityActionHttpHeader>]
8877
+ attr_accessor :headers
8878
+
8879
+ def initialize(**args)
8880
+ update!(**args)
8881
+ end
8882
+
8883
+ # Update properties of this object
8884
+ def update!(**args)
8885
+ @headers = args[:headers] if args.key?(:headers)
8886
+ end
8887
+ end
8888
+
8889
+ # An HTTP header.
8890
+ class GoogleCloudApigeeV1SecurityActionHttpHeader
8891
+ include Google::Apis::Core::Hashable
8892
+
8893
+ # The header name to be sent to the target.
8894
+ # Corresponds to the JSON property `name`
8895
+ # @return [String]
8896
+ attr_accessor :name
8897
+
8898
+ # The header value to be sent to the target.
8899
+ # Corresponds to the JSON property `value`
8900
+ # @return [String]
8901
+ attr_accessor :value
8902
+
8903
+ def initialize(**args)
8904
+ update!(**args)
8905
+ end
8906
+
8907
+ # Update properties of this object
8908
+ def update!(**args)
8909
+ @name = args[:name] if args.key?(:name)
8910
+ @value = args[:value] if args.key?(:value)
8911
+ end
8912
+ end
8913
+
8914
+ # SecurityActionsConfig reflects the current state of the SecurityActions
8915
+ # feature. This is a singleton resource: https://google.aip.dev/156
8916
+ class GoogleCloudApigeeV1SecurityActionsConfig
8917
+ include Google::Apis::Core::Hashable
8918
+
8919
+ # The flag that controls whether this feature is enabled. This is `unset` by
8920
+ # default. When this flag is `false`, even if individual rules are enabled, no
8921
+ # SecurityActions will be enforced.
8922
+ # Corresponds to the JSON property `enabled`
8923
+ # @return [Boolean]
8924
+ attr_accessor :enabled
8925
+ alias_method :enabled?, :enabled
8926
+
8927
+ # This is a singleton resource, the name will always be set by SecurityActions
8928
+ # and any user input will be ignored. The name is always: `organizations/`org`/
8929
+ # environments/`env`/security_actions_config`
8930
+ # Corresponds to the JSON property `name`
8931
+ # @return [String]
8932
+ attr_accessor :name
8933
+
8934
+ # Output only. The update time for configuration.
8935
+ # Corresponds to the JSON property `updateTime`
8936
+ # @return [String]
8937
+ attr_accessor :update_time
8938
+
8939
+ def initialize(**args)
8940
+ update!(**args)
8941
+ end
8942
+
8943
+ # Update properties of this object
8944
+ def update!(**args)
8945
+ @enabled = args[:enabled] if args.key?(:enabled)
8946
+ @name = args[:name] if args.key?(:name)
8947
+ @update_time = args[:update_time] if args.key?(:update_time)
8948
+ end
8949
+ end
8950
+
8348
8951
  # Represents an SecurityIncident resource.
8349
8952
  class GoogleCloudApigeeV1SecurityIncident
8350
8953
  include Google::Apis::Core::Hashable
@@ -8355,7 +8958,7 @@ module Google
8355
8958
  # @return [Array<String>]
8356
8959
  attr_accessor :detection_types
8357
8960
 
8358
- # Display name of the security incident.
8961
+ # Optional. Display name of the security incident.
8359
8962
  # Corresponds to the JSON property `displayName`
8360
8963
  # @return [String]
8361
8964
  attr_accessor :display_name
@@ -8440,6 +9043,12 @@ module Google
8440
9043
  # @return [String]
8441
9044
  attr_accessor :name
8442
9045
 
9046
+ # ProfileConfig defines a set of categories and policies which will be used to
9047
+ # compute security score.
9048
+ # Corresponds to the JSON property `profileConfig`
9049
+ # @return [Google::Apis::ApigeeV1::GoogleCloudApigeeV1ProfileConfig]
9050
+ attr_accessor :profile_config
9051
+
8443
9052
  # Output only. The time when revision was created.
8444
9053
  # Corresponds to the JSON property `revisionCreateTime`
8445
9054
  # @return [String]
@@ -8479,6 +9088,7 @@ module Google
8479
9088
  @max_score = args[:max_score] if args.key?(:max_score)
8480
9089
  @min_score = args[:min_score] if args.key?(:min_score)
8481
9090
  @name = args[:name] if args.key?(:name)
9091
+ @profile_config = args[:profile_config] if args.key?(:profile_config)
8482
9092
  @revision_create_time = args[:revision_create_time] if args.key?(:revision_create_time)
8483
9093
  @revision_id = args[:revision_id] if args.key?(:revision_id)
8484
9094
  @revision_publish_time = args[:revision_publish_time] if args.key?(:revision_publish_time)
@@ -8522,8 +9132,7 @@ module Google
8522
9132
  # @return [String]
8523
9133
  attr_accessor :attach_time
8524
9134
 
8525
- # Immutable. Name of the profile-environment association resource. Format:
8526
- # organizations/`org`/securityProfiles/`profile`/environments/`env`
9135
+ # Immutable. Name of the environment that the profile is attached to.
8527
9136
  # Corresponds to the JSON property `name`
8528
9137
  # @return [String]
8529
9138
  attr_accessor :name
@@ -8988,6 +9597,33 @@ module Google
8988
9597
  end
8989
9598
  end
8990
9599
 
9600
+ # Request for SetAddonEnablement.
9601
+ class GoogleCloudApigeeV1SetAddonEnablementRequest
9602
+ include Google::Apis::Core::Hashable
9603
+
9604
+ # If the Analytics should be enabled in the environment.
9605
+ # Corresponds to the JSON property `analyticsEnabled`
9606
+ # @return [Boolean]
9607
+ attr_accessor :analytics_enabled
9608
+ alias_method :analytics_enabled?, :analytics_enabled
9609
+
9610
+ # If the API Security should be enabled in the environment.
9611
+ # Corresponds to the JSON property `apiSecurityEnabled`
9612
+ # @return [Boolean]
9613
+ attr_accessor :api_security_enabled
9614
+ alias_method :api_security_enabled?, :api_security_enabled
9615
+
9616
+ def initialize(**args)
9617
+ update!(**args)
9618
+ end
9619
+
9620
+ # Update properties of this object
9621
+ def update!(**args)
9622
+ @analytics_enabled = args[:analytics_enabled] if args.key?(:analytics_enabled)
9623
+ @api_security_enabled = args[:api_security_enabled] if args.key?(:api_security_enabled)
9624
+ end
9625
+ end
9626
+
8991
9627
  # Request for SetAddons.
8992
9628
  class GoogleCloudApigeeV1SetAddonsRequest
8993
9629
  include Google::Apis::Core::Hashable
@@ -9973,22 +10609,22 @@ module Google
9973
10609
  # evaluates to `true`. A condition can add constraints based on attributes of
9974
10610
  # the request, the resource, or both. To learn which resources support
9975
10611
  # conditions in their IAM policies, see the [IAM documentation](https://cloud.
9976
- # google.com/iam/help/conditions/resource-policies). **JSON example:** ` "
10612
+ # google.com/iam/help/conditions/resource-policies). **JSON example:** ``` ` "
9977
10613
  # bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members": [
9978
10614
  # "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
9979
10615
  # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
9980
10616
  # roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com"
9981
10617
  # ], "condition": ` "title": "expirable access", "description": "Does not grant
9982
10618
  # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
9983
- # 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:**
9984
- # bindings: - members: - user:mike@example.com - group:admins@example.com -
9985
- # domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
9986
- # role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
9987
- # com role: roles/resourcemanager.organizationViewer condition: title: expirable
9988
- # access description: Does not grant access after Sep 2020 expression: request.
9989
- # time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For
9990
- # a description of IAM and its features, see the [IAM documentation](https://
9991
- # cloud.google.com/iam/docs/).
10619
+ # 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 ` ``` **YAML
10620
+ # example:** ``` bindings: - members: - user:mike@example.com - group:admins@
10621
+ # example.com - domain:google.com - serviceAccount:my-project-id@appspot.
10622
+ # gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: -
10623
+ # user:eve@example.com role: roles/resourcemanager.organizationViewer condition:
10624
+ # title: expirable access description: Does not grant access after Sep 2020
10625
+ # expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag:
10626
+ # BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the
10627
+ # [IAM documentation](https://cloud.google.com/iam/docs/).
9992
10628
  class GoogleIamV1Policy
9993
10629
  include Google::Apis::Core::Hashable
9994
10630
 
@@ -10072,22 +10708,22 @@ module Google
10072
10708
  # evaluates to `true`. A condition can add constraints based on attributes of
10073
10709
  # the request, the resource, or both. To learn which resources support
10074
10710
  # conditions in their IAM policies, see the [IAM documentation](https://cloud.
10075
- # google.com/iam/help/conditions/resource-policies). **JSON example:** ` "
10711
+ # google.com/iam/help/conditions/resource-policies). **JSON example:** ``` ` "
10076
10712
  # bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members": [
10077
10713
  # "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
10078
10714
  # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
10079
10715
  # roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com"
10080
10716
  # ], "condition": ` "title": "expirable access", "description": "Does not grant
10081
10717
  # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
10082
- # 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:**
10083
- # bindings: - members: - user:mike@example.com - group:admins@example.com -
10084
- # domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
10085
- # role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
10086
- # com role: roles/resourcemanager.organizationViewer condition: title: expirable
10087
- # access description: Does not grant access after Sep 2020 expression: request.
10088
- # time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For
10089
- # a description of IAM and its features, see the [IAM documentation](https://
10090
- # cloud.google.com/iam/docs/).
10718
+ # 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 ` ``` **YAML
10719
+ # example:** ``` bindings: - members: - user:mike@example.com - group:admins@
10720
+ # example.com - domain:google.com - serviceAccount:my-project-id@appspot.
10721
+ # gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: -
10722
+ # user:eve@example.com role: roles/resourcemanager.organizationViewer condition:
10723
+ # title: expirable access description: Does not grant access after Sep 2020
10724
+ # expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag:
10725
+ # BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the
10726
+ # [IAM documentation](https://cloud.google.com/iam/docs/).
10091
10727
  # Corresponds to the JSON property `policy`
10092
10728
  # @return [Google::Apis::ApigeeV1::GoogleIamV1Policy]
10093
10729
  attr_accessor :policy
@@ -10212,13 +10848,13 @@ module Google
10212
10848
  # @return [String]
10213
10849
  attr_accessor :name
10214
10850
 
10215
- # The normal response of the operation in case of success. If the original
10216
- # method returns no data on success, such as `Delete`, the response is `google.
10217
- # protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`,
10218
- # the response should be the resource. For other methods, the response should
10219
- # have the type `XxxResponse`, where `Xxx` is the original method name. For
10220
- # example, if the original method name is `TakeSnapshot()`, the inferred
10221
- # response type is `TakeSnapshotResponse`.
10851
+ # The normal, successful response of the operation. If the original method
10852
+ # returns no data on success, such as `Delete`, the response is `google.protobuf.
10853
+ # Empty`. If the original method is standard `Get`/`Create`/`Update`, the
10854
+ # response should be the resource. For other methods, the response should have
10855
+ # the type `XxxResponse`, where `Xxx` is the original method name. For example,
10856
+ # if the original method name is `TakeSnapshot()`, the inferred response type is
10857
+ # `TakeSnapshotResponse`.
10222
10858
  # Corresponds to the JSON property `response`
10223
10859
  # @return [Hash<String,Object>]
10224
10860
  attr_accessor :response