/// <summary> /// Initializes a new instance of the <see cref="App" /> class. /// </summary> /// <param name="appName">A user defined unique identifier for an app. It is alpha-numeric, may contain dashes, underscores, periods, and be less then 250 characters long. It must be unique within your account. .</param> /// <param name="appId">A globally unique identifier for an app..</param> /// <param name="appType">appType.</param> /// <param name="principalType">principalType.</param> /// <param name="classifications">An App maybe associated to many classifications. A classification drives how the integration is presented to the user in the SmartThings mobile clients. These classifications include: * AUTOMATION - Denotes an integration that should display under the \"Automation\" tab in mobile clients. * SERVICE - Denotes an integration that is classified as a \"Service\". * DEVICE - Denotes an integration that should display under the \"Device\" tab in mobile clients. * CONNECTED_SERVICE - Denotes an integration that should display under the \"Connected Services\" menu in mobile clients. * HIDDEN - Denotes an integration that should not display in mobile clients .</param> /// <param name="displayName">A default display name for an app. .</param> /// <param name="description">A default description for an app. .</param> /// <param name="singleInstance">Inform the installation systems that a particular app can only be installed once within a user's account. (default to false).</param> /// <param name="iconImage">iconImage.</param> /// <param name="installMetadata">System generated metadata that impacts eligibility requirements around installing an App..</param> /// <param name="owner">owner.</param> /// <param name="createdDate">A UTC ISO-8601 Date-Time String.</param> /// <param name="lastUpdatedDate">A UTC ISO-8601 Date-Time String.</param> /// <param name="lambdaSmartApp">lambdaSmartApp.</param> /// <param name="webhookSmartApp">webhookSmartApp.</param> /// <param name="ui">ui.</param> public App(string appName = default(string), Guid appId = default(Guid), AppType?appType = default(AppType?), PrincipalType?principalType = default(PrincipalType?), List <AppClassification> classifications = default(List <AppClassification>), string displayName = default(string), string description = default(string), bool singleInstance = false, IconImage iconImage = default(IconImage), Dictionary <string, string> installMetadata = default(Dictionary <string, string>), Owner owner = default(Owner), DateTime createdDate = default(DateTime), DateTime lastUpdatedDate = default(DateTime), LambdaSmartApp lambdaSmartApp = default(LambdaSmartApp), WebhookSmartApp webhookSmartApp = default(WebhookSmartApp), AppUISettings ui = default(AppUISettings)) { this.AppName = appName; this.AppId = appId; this.AppType = appType; this.PrincipalType = principalType; this.Classifications = classifications; this.DisplayName = displayName; this.Description = description; this.SingleInstance = singleInstance; this.IconImage = iconImage; this.InstallMetadata = installMetadata; this.Owner = owner; this.CreatedDate = createdDate; this.LastUpdatedDate = lastUpdatedDate; this.LambdaSmartApp = lambdaSmartApp; this.WebhookSmartApp = webhookSmartApp; this.Ui = ui; }
/// <summary> /// Initializes a new instance of the <see cref="CreateAppRequest" /> class. /// </summary> /// <param name="appName">A globally unique, developer-defined identifier for an app. It is alpha-numeric, may contain dashes, underscores, periods, and must be less then 250 characters long. (required).</param> /// <param name="displayName">A default display name for an app. (required).</param> /// <param name="description">A default description for an app. (required).</param> /// <param name="singleInstance">Inform the installation systems that a particular app can only be installed once within a user's account. (default to false).</param> /// <param name="iconImage">iconImage.</param> /// <param name="appType">appType (required).</param> /// <param name="principalType">principalType.</param> /// <param name="classifications">An App maybe associated to many classifications. A classification drives how the integration is presented to the user in the SmartThings mobile clients. These classifications include: * AUTOMATION - Denotes an integration that should display under the \"Automation\" tab in mobile clients. * SERVICE - Denotes an integration that is classified as a \"Service\". * DEVICE - Denotes an integration that should display under the \"Device\" tab in mobile clients. * CONNECTED_SERVICE - Denotes an integration that should display under the \"Connected Services\" menu in mobile clients. * HIDDEN - Denotes an integration that should not display in mobile clients (required).</param> /// <param name="lambdaSmartApp">lambdaSmartApp.</param> /// <param name="webhookSmartApp">webhookSmartApp.</param> /// <param name="oauth">oauth.</param> /// <param name="ui">ui.</param> public CreateAppRequest(string appName = default(string), string displayName = default(string), string description = default(string), bool singleInstance = false, IconImage iconImage = default(IconImage), AppType appType = default(AppType), PrincipalType?principalType = default(PrincipalType?), List <AppClassification> classifications = default(List <AppClassification>), CreateOrUpdateLambdaSmartAppRequest lambdaSmartApp = default(CreateOrUpdateLambdaSmartAppRequest), CreateOrUpdateWebhookSmartAppRequest webhookSmartApp = default(CreateOrUpdateWebhookSmartAppRequest), AppOAuth oauth = default(AppOAuth), AppUISettings ui = default(AppUISettings)) { // to ensure "appName" is required (not null) this.AppName = appName ?? throw new ArgumentNullException("appName is a required property for CreateAppRequest and cannot be null"); // to ensure "displayName" is required (not null) this.DisplayName = displayName ?? throw new ArgumentNullException("displayName is a required property for CreateAppRequest and cannot be null"); // to ensure "description" is required (not null) this.Description = description ?? throw new ArgumentNullException("description is a required property for CreateAppRequest and cannot be null"); this.AppType = appType; // to ensure "classifications" is required (not null) this.Classifications = classifications ?? throw new ArgumentNullException("classifications is a required property for CreateAppRequest and cannot be null"); this.SingleInstance = singleInstance; this.IconImage = iconImage; this.PrincipalType = principalType; this.LambdaSmartApp = lambdaSmartApp; this.WebhookSmartApp = webhookSmartApp; this.Oauth = oauth; this.Ui = ui; }
/// <summary> /// Initializes a new instance of the <see cref="UpdateAppRequest" /> class. /// </summary> /// <param name="displayName">A default display name for an app. (required).</param> /// <param name="description">A default description for an app. (required).</param> /// <param name="singleInstance">Inform the installation systems that a particular app can only be installed once within a user's account. (default to false).</param> /// <param name="iconImage">iconImage.</param> /// <param name="appType">appType (required).</param> /// <param name="classifications">An App maybe associated to many classifications. A classification drives how the integration is presented to the user in the SmartThings mobile clients. These classifications include: * AUTOMATION - Denotes an integration that should display under the \"Automation\" tab in mobile clients. * SERVICE - Denotes an integration that is classified as a \"Service\". * DEVICE - Denotes an integration that should display under the \"Device\" tab in mobile clients. * CONNECTED_SERVICE - Denotes an integration that should display under the \"Connected Services\" menu in mobile clients. * HIDDEN - Denotes an integration that should not display in mobile clients (required).</param> /// <param name="lambdaSmartApp">lambdaSmartApp.</param> /// <param name="webhookSmartApp">webhookSmartApp.</param> /// <param name="ui">ui.</param> public UpdateAppRequest(string displayName = default(string), string description = default(string), bool singleInstance = false, IconImage iconImage = default(IconImage), AppType appType = default(AppType), List <AppClassification> classifications = default(List <AppClassification>), CreateOrUpdateLambdaSmartAppRequest lambdaSmartApp = default(CreateOrUpdateLambdaSmartAppRequest), CreateOrUpdateWebhookSmartAppRequest webhookSmartApp = default(CreateOrUpdateWebhookSmartAppRequest), AppUISettings ui = default(AppUISettings)) { // to ensure "displayName" is required (not null) if (displayName == null) { throw new ArgumentNullException("displayName is a required property for UpdateAppRequest and cannot be null"); } this.DisplayName = displayName; // to ensure "description" is required (not null) if (description == null) { throw new ArgumentNullException("description is a required property for UpdateAppRequest and cannot be null"); } this.Description = description; this.AppType = appType; // to ensure "classifications" is required (not null) if (classifications == null) { throw new ArgumentNullException("classifications is a required property for UpdateAppRequest and cannot be null"); } this.Classifications = classifications; this.SingleInstance = singleInstance; this.IconImage = iconImage; this.LambdaSmartApp = lambdaSmartApp; this.WebhookSmartApp = webhookSmartApp; this.Ui = ui; }